解码H.264个体nal单位

时间:2015-05-31 21:17:26

标签: c++ ffmpeg decode h.264 x264

我目前正通过网络发送个人NAL单位。这些NAL单元由x264生成。现在是否可以将这些NAL单元单独提供给avcodec_decode_video2?

或者我必须连接nal单位,直到它们代表相同的帧?如果是这样的话那怎么办呢?

我还读过我可能会收到SPS和PPS数据包。然后等待至少一个数据包,并尝试解码。这是对的吗?

非常感谢任何可以提供的建议

2 个答案:

答案 0 :(得分:0)

是的,我们可以将NAL单元单独传递给解码器。 H264能够分成多个切片,每帧有多个NAL单元。 PL。请参阅教程,该教程提供了使用ffmpeg进行解码的步骤。 http://dranger.com/ffmpeg/tutorial01.html

同时检查av_read_frame调用的输出以了解帧数据的来源。建议你pl。请参考下面的堆栈溢出链接,它也解释了NAL解码的问题 H264: decode series of nal units with ffmpeg

答案 1 :(得分:-1)

我有一个类似的问题-在数据包上设置key_frame解决了所有NAL问题。另外,请确保您在编解码器上下文中设置了额外的数据。