【备忘】ffmpeg裁剪(seeking)视频后音画不同步的原因 您所在的位置:网站首页 小丸工具箱apk 【备忘】ffmpeg裁剪(seeking)视频后音画不同步的原因

【备忘】ffmpeg裁剪(seeking)视频后音画不同步的原因

2023-09-23 07:57| 来源: 网络整理| 查看: 265

好久没有玩视频压制,这次压制并上传了某演唱会后发现音画不同步,然后就开始排查原因。

刚开始查压制后的视频发现是没有音画错误的问题的,然后就开始查裁剪后分段的视频,然后就发现

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 实验室设备网 版权所有