【发布时间】:2017-12-23 03:26:17
【问题描述】:
我正在尝试在不解码和重新编码的情况下剪切 H.264 视频流。在视频流中找到一个切割点:
我是否首先检测 I 帧,然后在所需时间捕获视频?
我是对的还是我必须寻找 I、P 和 B 帧的组合?
【问题讨论】:
标签: h.264 video-capture
我正在尝试在不解码和重新编码的情况下剪切 H.264 视频流。在视频流中找到一个切割点:
我是否首先检测 I 帧,然后在所需时间捕获视频?
我是对的还是我必须寻找 I、P 和 B 帧的组合?
【问题讨论】:
标签: h.264 video-capture
通常 H.264 比特流以序列参数集 (SPS)、图片参数集 (PPS) 开头,然后是 H.264 比特流中的 IDR 帧,然后是其他任意帧(P、B 等) )。参数集是正确初始化解码器所必需的。
因此,为了能够对您正在剪切的每个片段进行解码,理想情况下,每个片段都应该以参数集开头,但每个 IDR 之前是否有参数集取决于编解码器和编解码器配置。 您可以通过查看要剪切的比特流的 NAL 单元类型来确定您的要求。
但是,可以通过 SPS 和 PPS 提供带外解码器。在这种情况下,他们将能够解码从 IDR 开始的比特流。
您不必寻找 I、P、B 帧的组合,只需确保您有参数集,并且您的片段以 IDR 开头。
【讨论】: