我正在尝试在不解码和重新编码的情况下剪切H.264视频流。在视频流中查找切割点:
是否先检测I帧,然后捕获所需时间的视频?
我说的对吗?或者我必须寻找I、P和B帧的组合?
发布于 2017-12-23 03:26:17
典型地,H.264比特流以序列参数集(SPS)、画面参数集(PPS)开始,接着是H.264比特流中的IDR帧,随后是其它任意帧(P、B等)。参数集是正确初始化解码器所必需的。
因此,为了能够解码您正在剪切的每个段,理想情况下,每个段都应该从参数集开始,但每个IDR之前是否有参数集取决于编解码器和编解码器配置。您将能够通过查看要剪切的比特流的NAL单元类型来确定您的需求。
然而,有可能为解码器提供带外的SPS和PPS。在这种情况下,它们将能够解码从IDR开始的比特流。
你不必寻找I,P,B帧的组合,只需确保你有参数集,并且你的片段以IDR开始。
https://stackoverflow.com/questions/47859412
复制相似问题