使用 FFMPEG 合并片段会导致音频出现小裂缝



为了加快在我的平台上交付视频的速度,我将上传的媒体分成长达 120 秒的片段,并在多台机器上同时处理它们。

处理后,我用"-f concat"将碎片重新组合在一起。

不幸的是,新媒体是在音频中产生小裂缝的(它们正好发生在连接处(。我还没有找到过滤器/命令来结束问题。有人知道如何解决这个问题吗?

注意:我正在使用 ffmpeg 3.4.1

这是我拆分媒体的命令:

ffmpeg -hide_banner -fflags +genpts -avoid_negative_ts make_zero -y -v error -i /video/somevideo.mov -map 0:v? -map 0:a? -c copy -f segment -segment_time 120 -segment_format matroska -reset_timestamps 1 -segment_list_type ffconcat -segment_list /video/segment_map.ffcat /video/segment%03d

用于处理段的命令的简短示例

某些变量会根据分辨率而变化

ffmpeg -y -hide_banner -v error -probesize 10M -analyzeduration 10M -itsoffset 0.066 -i /video/segment000 -c:v libx264 -preset fast -profile:v high -crf 23 -r 117375/3916 -maxrate 1500000 -bufsize 2250000 -g 58 -keyint_min 58 -sc_threshold 0 -bf 3 -b_strategy 2 -refs 10 -vf scale="iw*sar:ih,scale=trunc(oh*a/2)*2:540" -pix_fmt yuv420p -max_muxing_queue_size 5000 -strict -2 -c:a aac -b:a 128000 -ar 44100  -f mp4 /video/transcode/segment000

以最终确定如何加入细分

ffmpeg -hide_banner -v error -f concat -safe 0 -y -i /video/transcode/segment_map.ffcat -c copy -movflags +faststart /video/transcoded.mp4

无法以这种方式加入音频。您必须在一次传递中转换整个音轨,然后将其复用到结果中。

最新更新