问题:在播放剪裁得到的MP4视频片段时,常常遇到卡顿、音画不同步等异常情况

原因分析:mp4视频是使用mpeg-4编码,压缩过的视频。压缩的基本原理是,将组成视频的帧分为两大类关键帧和普通帧。关键帧是一张完整的图片,包含当前帧的完整图像信息,而普通帧则需要依赖之前的关键帧来恢复图像。这样子,就可以减小视频文件的大小,又保持较高的清晰度。

凡是压缩过的视频,都包含关键帧。这里的压缩是指,对原始的视频文件内容进行编码,而不是文件级别的压缩。

在剪裁视频的时候,开始的时间点如果不是关键帧,那么剪裁到的视频片段,在播放时就会卡顿。片段视频的开头是一些普通帧,解码器无法找打关键帧,无法恢复普通帧的图像,无法进行正常解码。

知道了原因,就有解决办法了,增加关键帧的数量,每一帧都是关键帧,任意剪裁点,都是关键帧,播放就不会卡顿了。

通过和来表示关键帧的最小和最大间隔数

具体命令如下

-i .mp4 -g 1 - 1 .mp4

-g 关键帧的最大间隔

- 关键帧的最小间隔

最大和最小都是1。

可能出现的问题:画面细微的不清晰

参考:

标题亲自测试 转码

for %%a in ("*.ts") do -i “%%a” -f mp4 - copy "%%~na.mp4

将当前目录下所有.ts文件转换为.mp4格式

剪辑

-ss 0:0:14.00 -i .mp4 - copy .mp4

对于压缩视频剪辑后不卡顿

-ss 0:0:14.00 -i .mp4 - copy - copy .mp4

对于压缩视频剪辑后,视频开始时黑屏,声音正常,图像卡顿