【备忘】ffmpeg裁剪(seeking)视频后音画不同步的原因 | 您所在的位置:网站首页 › 小丸工具箱apk › 【备忘】ffmpeg裁剪(seeking)视频后音画不同步的原因 |
好久没有玩视频压制,这次压制并上传了某演唱会后发现音画不同步,然后就开始排查原因。 刚开始查压制后的视频发现是没有音画错误的问题的,然后就开始查裁剪后分段的视频,然后就发现 PART1的前10秒居然没有画面,但声音继续播放,导致音画不同步。 PART2前2.5秒居然没有画面,但声音继续播放,导致音画不同步。 然后就开始查裁剪部分的原因,刚开始是用小丸工具箱的裁剪功能的。怀疑会不会是ffmpeg版本的问题,然后用B站的投稿工具中自带的ffmpeg,用同样的参数依旧会出现该问题。于是就去ffmpeg的网站去啃wiki(https://trac.ffmpeg.org/wiki/Seeking)了。 发现-ss这个参数的位置会影响视频裁剪(定位关键帧)过程的准确度。 从ffmpeg的wiki里得出: -ss 参数前置时,视频裁剪会用-ss 时,会对位置后的关键帧进行分析。(英文原话:The input will be parsed using keyframes, which is very fast.) -ss 参数后置时,视频裁剪会用-ss 时,直到到达的位置时,在这之前的解码数据(帧)会被丢弃,然后才开始逐帧分析。(英文原话:the input will be decoded (and discarded) until it reaches the position given by -ss. This will be done very slowly, frame by frame. ) 好,这就来测试一下。 裁剪参数: "D:\Backup\Downloads\小丸工具箱rev194\tools\ffmpeg.exe" -ss 01:37:40 -i "F:\Live\THE IDOLM@STER CINDERELLA GIRLS 5th LIVE TOUR Serendipity Parade @ISHIKAWA\THE IDOLM@STER CINDERELLA GIRLS 5th LIVE TOUR Serendipity Parade @ISHIKAWA Disc 1 Day 2 2017.5.28_x264.mp4" -to 03:25:01 -y -c copy "F:\Live\THE IDOLM@STER CINDERELLA GIRLS 5th LIVE TOUR Serendipity Parade @ISHIKAWA\@ISHIKAWA Disc 1 Day 2 2017.5.28_x264_part2_ss参数位于i参数前.mp4" "D:\Backup\Downloads\小丸工具箱rev194\tools\ffmpeg.exe" -i "F:\Live\THE IDOLM@STER CINDERELLA GIRLS 5th LIVE TOUR Serendipity Parade @ISHIKAWA\THE IDOLM@STER CINDERELLA GIRLS 5th LIVE TOUR Serendipity Parade @ISHIKAWA Disc 1 Day 2 2017.5.28_x264.mp4" -ss 01:37:40 -to 03:25:01 -y -c copy "F:\Live\THE IDOLM@STER CINDERELLA GIRLS 5th LIVE TOUR Serendipity Parade @ISHIKAWA\@ISHIKAWA Disc 1 Day 2 2017.5.28_x264_part2_ss参数位于i参数后.mp4" 实际裁剪出来的区别: 大小和时间都有误差-ss参数后置-ss参数前置-ss参数后置时会比前置少了130帧,时长少了4秒。 播放下来,-ss参数前置时则不会出现音画不同步,问题完美解决! 本文使用CC3.0 BY-NC-SA协议,你可以可以对本创作进行转载、节选、混编、二次创作,但不得运用于商业目的,且使用时须进行署名,采用本创作的内容必须同样采用本协议进行授权。 |
CopyRight 2018-2019 实验室设备网 版权所有 |