我试图在没有解码和重新编码的情况下剪切H.264视频流。要在视频流中找到切割点:
首先检测I帧然后将视频捕获到所需的时间吗?
我是对的还是我必须寻找I,P和B帧的组合?
答案 0 :(得分:1)
通常,H.264比特流以序列参数集(SPS),图像参数集(PPS)开始,然后是H.264比特流中的IDR帧,然后是其他任意帧(P,B等) )。需要参数集才能正确初始化解码器。
因此,为了能够解码您正在切割的每个片段,理想情况下每个片段应以参数集开头,但每个IDR是否以参数集开头都依赖于编解码器和编解码器配置。 您可以通过查看您想要削减的比特流的NAL单元类型来确定您的要求。
然而,可以通过SPS和PPS提供带外解码器。在这种情况下,他们将能够从IDR开始解码比特流。
您不必查找I,P,B帧的组合,只需确保您拥有参数集,并且您的细分受众群以IDR开头。