FFMPEG混合滤波器导致主音频流被切断

时间:2019-01-21 14:38:44

标签: audio ffmpeg

因此,我有一个名为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

1 个答案:

答案 0 :(得分:0)

因此,我设法通过使用音频过滤器来解决此问题。解决方法是在应用音频滤波器之前将单声道流转换为立体声。我当时正在考虑删除该问题,但是如果以后有人遇到同样的问题,我会保留它。

单声道到立体声

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