audio - FFMPEG:生成输入文件时间最长的7.1声道音频文件

标签 audio ffmpeg

我想使用 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
    
  • 添加 apad过滤到所有其他输入:
    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/

    相关文章:

    ffmpeg - 如何连接两个非常不同的 mp3 文件(差异比特率、 channel 、采样率、位深度)?

    ffmpeg - 如何通过 FFMPEG 直播直播?

    flash - 从闪存流式传输大量数据

    ios - 在 iOS 中立即开始播放简短的自制声音

    iPhone AVAudioRecorder,AudioQueueServices,如何在检测到声音时自动录制音频

    python - FFMPEG Loudnorm 读取 JSON 数据

    android - 从 Android 上的 native 进程获取数据

    ios - iOS5 上跳动/不正确的光谱仪

    javascript - 如何播放部分音频文件?

    batch-file - 我需要一种方法来计算批处理中 2 个时间变量之间的时间差