![在非关键帧上剪切 H264 视频](https://linux22.com/image/1368497/%E5%9C%A8%E9%9D%9E%E5%85%B3%E9%94%AE%E5%B8%A7%E4%B8%8A%E5%89%AA%E5%88%87%20H264%20%E8%A7%86%E9%A2%91.png)
我想提取视频场景(音频编解码器:AAC,视频编解码器:H264)。问题是场景不是从 I 关键帧开始的。我试过的软件(Avidemux、Handbrake 或 VLC)只允许在关键帧上剪切视频。有人有解决这个问题的技巧吗?
谢谢'
答案1
在我看来绝对不行,对于 h.264 你必须在关键帧处剪切(内部帧 = I 帧)。
http://en.wikipedia.org/wiki/Key_frame
在视频压缩中,关键帧(也称为帧内帧)是将完整图像存储在数据流中的帧。在视频压缩中,只有从一帧到下一帧发生的变化才会存储在数据流中,以大大减少必须存储的信息量。这种技术利用了这样一个事实:大多数视频源(例如典型的电影)的图像从一帧到下一帧只有很小的变化。每当图像发生剧烈变化时,例如从一个摄像机镜头切换到另一个摄像机镜头,或者在场景变化时,都必须创建关键帧。
答案2
Avidemux 智能复制模式仅对不以关键帧开头的 GOP(图片组)进行重新编码,并对以关键帧开头的 GOP 进行纯复制。遗憾的是,该功能不适用于 AVC,只适用于 ASP。
据说其他软件也可以为 AVC 实现这一点,例如 VidCutter,但是这个软件的工作效果很模糊所以我不使用它。
我尝试通过合并重新编码和复制的 GOP 视频文件来模拟智能复制,但合并点的显示出现问题。这很可能只是使用与复制完全相同的配置参数进行重新编码的问题。