如何解决FFMPEG从文本文件读取输入,并同时从文件过滤复合体
我正在尝试从文本文件(而不是内联参数)发送输入媒体文件,并尝试从文本文件过滤复合体。
这就是我所做的。
-
我已经创建了一个文本文件,并将所有输入媒体都推送到了文本文件中,例如
file 0.mp3 file 1.mp3 file 2.mp3 file 3.mp3 file 4.mp3 file 5.mp3 file 6.mp3 file 7.mp3 file 8.mp3 file 9.mp3 ...
-
我还创建了另一个名为
filter.txt
的文本文件,并注入其中的所有复杂过滤规则。[0]adelay=0|0,volume=207[0a];[1]adelay=111400|111400,volume=206[1a];[2]adelay=116300|116300,volume=205[2a];[3]adelay=122300|122300,volume=204[3a];[4]adelay=125600|125600,volume=203[4a];[5]adelay=128000|128000,volume=202[5a];[6]adelay=137800|137800,volume=201[6a];[7]adelay=149100|149100,volume=200[7a];[8]adelay=150400|150400,volume=199[8a];[9]adelay=151900|151900,volume=198[9a];[10]adelay=153300|153300,volume=197[10a];[11]adelay=190300|190300,volume=196[11a];[12]adelay=210000|210000,volume=195[12a];[13]adelay=222500|222500,volume=194[13a];[14]adelay=224400|224400,volume=193[14a];[15]adelay=226900|226900,volume=192[15a];[16]adelay=228700|228700,volume=191[16a];[17]adelay=236100|236100,volume=190[17a];[18]adelay=240000|240000,volume=189[18a];[19]adelay=251200|251200,volume=188[19a];[20]adelay=253400|253400,volume=187[20a];[21]adelay=256500|256500,volume=186[21a];[22]adelay=258800|258800,volume=185[22a];[23]adelay=263700|263700,volume=184[23a];[24]adelay=267500|267500,volume=183[24a];[25]adelay=272000|272000,volume=182[25a];[26]adelay=273500|273500,volume=181[26a];[27]adelay=276600|276600,volume=180[27a];[28]adelay=27920 ....
这两个文件分别作为输入都可以正常工作。但是,如果我尝试将两者都传递给FFMPEG,就会抱怨。
ffmpeg -y -f concat -i tmp/input.txt -filter_complex_script tmp/filter.txt -map "[a]" tmp/out.mp3
我收到此错误:
Invalid file index 1 in filtergraph description
我们非常感谢您的帮助。
解决方法
concat多路分配器会创建单个串联的输入,因此在过滤时,您将无法像正常输入一样引用单个文件。
您将必须单独列出输入(ffmpeg -i 0.mp3 -i 1.mp3 ...
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。