实际上我有点卡在一个问题上,我真的希望有人能帮助我解决这个问题。
我的问题如下: 我有一个实时 usb 摄像头,我用它只对 h264 中的视频进行编码,以便通过网络将其与 RTP 一起发送到接收器(我这里用于测试目的的接收器是 Ekiga)。 在仅以 h264 编码视频后,我得到了一个字节数组。
现在有了这个字节数组,我想提取 SPS 和 PPS。我想获取这些信息,以便在向接收方发送帧时能够发送以下序列: SPS => PPS => FRAME 1(IDR 图片的编码切片)=> FRAME 2(IDR 图片的非编码切片)=> FRAME 3(IDR 图片的非编码切片)=>等等...
我如何提取这些信息并且我想要一个可以帮助我的 JAVA 库? (JCODEC nop 文档??!!)
感谢您的帮助。 罗尼
最佳答案
这取决于您的编码器。如果它正在生成附件 b 流,则 sps/pps 很可能是第一个和第二个 Nalus。除非它也产生访问单元定界符,在这种情况下它将是第二个和第三个。如果它不生成附件 b,则需要通过其他方式从编码器 API 获取此数据。无论哪种方式,您都需要解析流。您可以在此处查看更多详细信息。
Possible Locations for Sequence/Picture Parameter Set(s) for H.264 Stream
还有一点,NALU 与框架不同。一个帧可以由许多 NAL 组成。
关于java - 从JAVA中的h264编码视频中获取SPS和PPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22065583/