我想使用 ffmpeg 从 8 个不同的音频文件生成 7.1 声道音频文件。
但我发现输出文件的持续时间是由持续时间最短的输入文件决定的。
我没有找到任何参数来自动填充较短的音频文件或选择最长的持续时间作为最终持续时间。
我已经看过如下的官方文件。
https://ffmpeg.org/ffmpeg-all.html
https://trac.ffmpeg.org/wiki/AudioChannelManipulation
但没有什么是有帮助的。
这是我现在使用的命令:
ffmpeg -i fl.wav -i fr.wav -i fc.wav -i lfe.wav -i bl.wav -i bl.wav -i sl.wav -i sr.wav -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a][6:a][7:a]join=inputs=8:channel_layout=7.1[a]" -map "[a]" output.wav
最佳答案
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.wav
ffmpeg -i fl.wav -i fr.wav -i fc.wav -i lfe.wav -i bl.wav -i bl.wav -i sl.wav -i sr.wav -filter_complex "[0:a]apad[a0];[1:a]apad[a1];[2:a]apad[a2];[3:a]apad[a3];[4:a]apad[a4];[5:a]apad[a5];[7:a]apad[a7];[a0][a1][a2][a3][a4][a5][6][a7]join=inputs=8:channel_layout=7.1[a]" -map "[a]" output.wav
关于audio - FFMPEG:生成输入文件时间最长的7.1声道音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57653646/