运行{input,parameters} 告诉应用程序“终端” 启用 将filesString设置为“” 在输入中重复file_ 将filesString设置为filesString& “”&引用形式(文件_的POSIX路径>) 结束重复 做脚本“for f in”& filesString& “;做 〜/ Documents / ffmpeg / ffmpeg -i \“$ f \” - acodec pcm_s16le \“$ {f%。*}。wav \” 完成” 结束告诉 返回输入 结束
我写了一个AppleScript来在OS X中添加一个右键单击服务,但这只需要第一个通道并创建一个单声道wav文件。如何创建一个多声道wav以容纳8个单声道音轨?
答案 0 :(得分:2)
一种方法是使用amerge filter:
ffmpeg -i input -filter_complex "[0:a:0][0:a:1][0:a:2][0:a:3][0:a:4][0:a:5][0:a:6][0:a:7]amerge=inputs=8" output.wav
另一种方法是使用join filter:
ffmpeg -i input -filter_complex "[0:a:0][0:a:1][0:a:2][0:a:3][0:a:4][0:a:5][0:a:6][0:a:7]join=inputs=8:channel_layout=7.1" output.wav
join 优于 amerge ,允许您更多地控制输出通道布局中的哪些流:
ffmpeg -i input -filter_complex "join=inputs=8:channel_layout=7.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-LFE|4.0-BL|5.0-BR|6.0-SL|7.0-SR" output.wav
[0:a:5]
指的是输入数字0的第4个音频流(本例中的第一个也是唯一的输入)。
如果您知道可以信任默认的流选择行为,则可以省略过滤器输入标签([0:a:0][0:a:1][0:a:2]
等)。
您可以使用ffmpeg -layouts
查看支持的频道布局列表。