使用随机访问解码H264

时间:2017-11-30 19:02:47

标签: c++ video h.264 nvenc nvdec

我想访问H264文件中的随机帧并将解码后的图像映射到Direct3D纹理。我正在使用NVIDIA VIDEO CODEC SDK。我已经找到了版本8.0中包含的 NvDecodeD3D11 示例,并将其剥离到了必需品。

基本上我想达到与decoding H264 from middle of the file中提出的相同的想法。

我的文件只能是IDR帧,但也可以包含P帧。

轻松访问示例:Github

我理解链接问题中的想法,但我不知道在何处以及如何实现这一点。

1 个答案:

答案 0 :(得分:0)

很好的问题,我担心这需要很多工作。您必须完全熟悉I和P帧格式。接下来,您将弄清楚如何搜索帧的标头,并形成一个缓冲区,指向I帧标头的开始。在此之后,您必须通过重写缓冲区指针索引,从标记当前帧的指针进行游戏时设计将用作常规游戏的系统,或者能够快速前进或后退。研究这个,你就能找到解决方案。很可能已经存在开源代码,但这需要更多搜索。你可以尝试给这个奖励。