运行时 {输入,参数} 告诉应用程序"终端" 激活 将文件字符串设置为 " 在输入中重复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
查看支持的频道布局列表。