Matroska H264编解码器私有数据内容

时间:2019-07-19 07:23:44

标签: video h.264 rtp mkv

这可能是一个愚蠢的问题,但是在HK的MKV编解码器专用部分应放置什么?我有一个可以捕获用户视频流并通过RTP发送视频流的应用。我正在用它们创建mkv。

我不清楚,H264的特定于编解码器的专用数据块应包含SPS和PPS信息。

所以我应该生成一个,我应该在流中查找第一个SPS和PPS 数据包并在标头块中使用它们吗?

2 个答案:

答案 0 :(得分:1)

不能保证PPS / SPS在RTP流中传输。我将在RTSP设置过程中提取PPS / SPS。

答案 1 :(得分:0)

就其价值而言,基于Chromium的浏览器可以直接使用MediaStream功能发出MIME类型'video/webm; codecs="avc1.42E01E"'。对于每个帧,该比特流具有H.264的SPS和PPS NALU优先于其他NALU。对于每个帧,SPS和PPS都会重复重复。这并不可怕,因为它们不大。

帧数据以Matroska SimpleBlock块的形式显示为一系列NALU,这些NALU在byte stream format中串联在一起,并用起始代码隔开。

您可以将您的SPS和PPS对象视为在Matroska中的普通H.264流数据(NALU)。 MPEG4装箱格式将它们存放在avcC Decoder Configuration Atom中的特殊位置。 Matroska / webm则不是。