我试图在时间戳 00:00:10 秒处将 temp.mp3 覆盖在 a.mp3 之上。以下是我尝试使用的命令,但出现以下错误。
temp.mp3 是一个短文件,我不希望它循环。仅在较长的 a.mp3 文件的特定点覆盖一次
有人可以告诉我我做错了什么吗?谢谢
ffmpeg -y -i a.mp3 -i temp.mp3 -filter_complex "[0:0]volume=1[a];[1:0]volume=0.30[b];[a][b]adelay=delay=10s:amix=inputs=2:duration=first" -acodec libmp3lame z1.mp3
Error applying option 'delay' to filter 'adelay': Option not found
Failed to set value '[0:0]volume=1[a];[1:0]volume=0.30[b];[a][b]adelay=delay=10s
:amix=inputs=2:duration=first' for option 'filter_complex': Option not found
Error parsing global options: Option not found
您收到的错误位于第一行:
option 'delay' to filter 'adelay': Option not found
。该选项的实际名称是delays
and notdelay
,因此过滤器的该部分需要是:adelay=delays=10s
。但除此之外,还有更多的问题:
输入
adelay
需要是单个流(并延迟流的各个通道),在您的情况下,您只想应用于adelay
您的[b]
流,因此该部分需要是[b]adelay=delay=10s[c]
.然后,您需要
amix
用分号;
而不是冒号分隔下一个过滤器 ( ):
,并且需要提供流[a]
和[c]
(延迟的)作为输入。那么你的命令将是:
另请参阅此处有关过滤器的文档。