注意:我最初用 MP4 文件这种更常见的说法错误地引用了 h.264 流,抱歉
我知道通常需要在关键帧上开始拆分 h.264,以便结果视频以关键帧开头,但我想知道流结构/规范是怎么回事?
关键帧必须作为整个文件的固定参数每 X 帧出现一次,还是关键帧之间可以有不同的间隔?如果玩家只是在它们出现时获取帧并绘制整个事物(关键帧)或更新其中的一部分(非关键帧),为什么关键帧间隔很重要?
如果间隔无关紧要,并且我们想在每 100 个关键帧流的第 87 帧上剪切,我们是否可以不使用 86 个前导帧来计算新文件的新关键帧,将剩余的 12 个非原始文件中的关键帧让我们到达下一个关键帧,然后是下一个原始关键帧(第 100 帧)并从那里开始?
即文件以“新密钥,12个原始非密钥,原始密钥,99个原始非密钥,原始密钥..”结尾
关键帧可以随时出现,我找不到引用,但可以想象在有许多过场动画的电影中。您希望关键帧成为任何剧烈场景更改后的第一帧,以保持视频的质量,否则当视频压缩器尝试使用大量“增量”更改创建新场景时,您最终会遇到噪音风暴从之前的场景。
对于具有一致关键帧时序的正常流可能是可以接受的,但对于最终内容,通过在场景变化边界处设置关键帧可以获得更好的质量。
来自关键帧、帧间和视频压缩
事实上,它是可调节的,取决于您对质量和比特率的要求。
如 BogoToBogo 所述,还有一些仅提取 iframe(关键帧)的方法:THUMBNAILS (IFRAME / SCENE CHANGE) - 2020