这是一个创建于 4563 天前的主题,其中的信息可能已经有所发展或是发生改变。
视频是h264的mp4文件。
video stream 每秒1帧
这个视频是从某种莫名其妙的只能在windows下播放个格式通过ffmpeg libx264转换来的。
我现在希望这个视频每一帧都是关键帧(keyframe/IDR frame)。这个参数应该怎么写呢?
PS:
关于avprobe -show_packets产生的packets中flags指什么啊?看到有flag=key和flag=_
是指keyframe 和 delta frame吗?
第 1 条附言 · 2013 年 7 月 23 日
自己来结贴。
I-frame IDR-frame 都有可能是指keyframe。如果I-frame和IDR-frame同时存在,那么IDR-frame指keyframe。
I-frame 和 IDR-frame 本质上来讲,是差不多的。区别在于IDR-frame强制要求,其下一帧不与之前关联。如果需要频繁跳转(seek)可以考虑多用IDR-frame
h264标准默认采用每250帧一个keyframe。
使用 -c:v libx264 -g 1 。注意-g参数,这个可以调整关键帧密度。具体可以参照libx264的相关文档。