file - 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 demuxer 创建单个连接输入,因此在过滤时您将无法像使用普通输入一样引用单个文件。
您必须单独列出输入 ( ffmpeg -i 0.mp3 -i 1.mp3 ...
)。
推荐阅读
- video-streaming - 关于 RTSP/RTP UDP 客户端端口的问题,有时索尼相机使用虚假端口?
- python - HTTP 400 错误错误请求,是什么原因?我该如何解决这个错误?
- drupal - Drupal 8 - 带字幕的照片库模块
- swift - Swift - 在导航控制器中调整大标题
- c# - 将字典的键和值添加到 2 个不重复的单独列表框
- java - 从java中的两个链表堆栈中减去数字
- python - 使用 selenium 时如何在我的程序中修复此错误/问题
- python - 为什么我的输出没有按预期返回?
- sql - PLS-00103:在期待以下之一时遇到符号“END”::=。( % ; 符号 ";" 代替 "END" 继续
- swiftui - 复制和共享 ForEach 循环的多个文本