将片段与 ffmpeg 合并会导致音频出现小裂缝
merge segments with ffmpeg causes small cracks in the audio
为了加快视频在我的平台上的传送速度,我将上传的媒体分成最长 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
无法通过这种方式加入音频。您必须一次性转换整个音轨,然后将其混合到结果中。
为了加快视频在我的平台上的传送速度,我将上传的媒体分成最长 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
无法通过这种方式加入音频。您必须一次性转换整个音轨,然后将其混合到结果中。