ffmpeg将具有8个音频通道的视频文件转换为多通道wav

时间:2017-04-05 00:14:42

标签: ffmpeg mapping wav channel

  

运行{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个单声道音轨?

1 个答案:

答案 0 :(得分:2)

amerge

一种方法是使用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查看支持的频道布局列表。