file - FFMPEG 从文本文件中读取输入并同时从文件中过滤复杂

标签 file input filter 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 的文本文件并在其中注入(inject)所有复杂的过滤规则。
    [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 ...)。

    关于file - FFMPEG 从文本文件中读取输入并同时从文件中过滤复杂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63588853/

    相关文章:

    javascript - Controller 内的 Angular Filter Service

    javascript - 从数组元素中过滤

    windows - 如何在不阻止其重命名的情况下在 Windows 中打开文件

    c++ - 管道输入数据

    javascript - vue.js 将焦点放在输入上

    javascript - 使用 Jquery 将 H3 文本更改为输入 val

    Android 低功耗蓝牙 - 使用 ScanFilters

    java - 使用多线程读取单个文件

    php - 关于如何存储/管理数据库中条目的文件的建议

    c++ - 在 C++ 中输入错误后使用输入流