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



运行时 {输入,参数} 告诉应用程序"终端" 激活 将文件字符串设置为 " 在输入中重复file_ set filesString to filesString & " " & 引用形式 (POSIX path>of file_( 结束重复 做脚本"for f in"&filesString & ";做 ~/Documents/ffmpeg/ffmpeg -i \"$f\" -acodec pcm_s16le \"${f%.*}.wav\" 完成" 结束告诉 返回输入 结束运行

我写了一个苹果脚本来在OS X中添加右键单击服务,但这只采用第一个通道并创建一个单声道wav文件。如何创建多声道 WAV 以容纳 8 个单声道轨道?

amerge

一种方法是使用 amerge 过滤器:

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

加入

另一种方法是使用联接过滤器:

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

amerge 相比,Join 的优势在于允许您更好地控制哪些流在输出通道布局中的位置:

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 查看支持的频道布局列表。

最新更新