【问题标题】:FFMPEG amix filter causes main audio stream to cut outFFMPEG amix 过滤器导致主音频流被切断
【发布时间】:2019-01-21 23:35:46
【问题描述】:

所以我有一个名为 1.mkv 的视频,并想在某些点混合各种不同的音频剪辑。为此,我使用了 -filter_complex 选项。但是,我遇到了一些问题,因为当 ffmpeg 尝试在第一个音频流中混合时,音频会在播放剪辑时工作一小会儿,然后所有音频都会中断。我正在运行 ffmpeg 版本 2.8.15-0(这是我的发行版的最新版本)。关于视频输出的另一个“奇怪”的事情是,在 xplayer 中,视频会在音频切断后冻结,并且如果您在视频中向前跳得足够远,它将起作用(不确定这是否有帮助,但它可能会提供一些额外的线索) .

完整命令:

ffmpeg -i "1.mkv" -i "5.wav" -i "2.wav" -i "3.wav" -i "6.wav" -i "7.wav" -i "4.wav" -i "9.wav" -i "8.wav" -i "10.wav" -filter_complex "[0:0]setdar=4/3[v0];

[2:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,adelay=20000|20000,volume=0.5[ad2];

[4:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,adelay=900000|900000,volume=0.5[ad4];

[3:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,adelay=300000|300000,volume=0.5[ad3];

[1:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,adelay=720000|720000,volume=0.5[ad1];

[7:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,adelay=1140000|1140000,volume=0.5[ad7];

[9:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,adelay=1260000|1260000,volume=0.5[ad9];

[8:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,adelay=1020000|1020000,volume=0.5[ad8];

[5:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,adelay=960000|960000,volume=0.5[ad5];

[6:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,adelay=480000|480000,volume=0.5[ad6];
[0:1]volume=1[ad0];
[ad0][ad2][ad4][ad3][ad1][ad7][ad9][ad8][ad5][ad6]amix=inputs=10:duration=first:dropout_transition=0,dynaudnorm[a0]" -map "[v0]" -map "[a0]" -c:v libx264 -ar 44100  -c:a libmp3lame -preset ultrafast -crf 17 -b:v 1M out2.flv

部分命令

ffmpeg -i "1.mkv" -i "2.wav" -filter_complex "[0:0]setdar=4/3[v0];
[1:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,adelay=20000|20000,volume=0.5[ad2];
[0:1]volume=1[ad0];
[ad0][ad2]amix=inputs=2:duration=first:dropout_transition=0,dynaudnorm[a0]" -map "[v0]" -map "[a0]" -c:v libx264 -ar 44100  -c:a libmp3lame -preset ultrafast -crf 17 -b:v 1M out2.flv

【问题讨论】:

    标签: audio ffmpeg


    【解决方案1】:

    所以我设法通过使用音频过滤器来解决这个问题。修复是在应用音频过滤器之前将单声道流转换为立体声。我正在考虑删除这个问题,但我会保留它,以防将来有人遇到同样的问题。

    单声道到立体声

    [1][1]amerge=inputs=2[a1]
    

    【讨论】:

    • 您已经在使用 [1:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo 进行此操作。您使用的是非常旧的版本。最新的是4.1。升级并尝试您的原始命令。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    • 2016-06-01
    • 2021-11-25
    • 1970-01-01
    相关资源
    最近更新 更多