我正在尝试获取有关 h264 比特流中的帧的信息。特别是宏 block 的运动 vector 。我想,我必须使用 ffmpeg 代码,但它真的很大而且很难理解。 那么,有人可以给我一些从 h264 流中的单帧原始数据进行部分解码的技巧或示例吗?
谢谢。
最佳答案
不幸的是,要从比特流中获取该级别的信息,您必须解码每个宏 block ,没有快速的选项,就像从切片 header 获取信息一样。
一种选择是使用 h.264 引用软件并打开详细调试输出和/或在需要的地方添加您自己的 printf,但这也是一个需要导航的大型代码库:
http://iphome.hhi.de/suehring/tml/
(您也可以使用 ffmpeg 并按照您所说的在需要的地方添加输出,但这也需要对该代码库有一些了解)
有一些用于分析视频比特流的图形工具,它们会在每个宏 block 的基础上向您显示此类信息,许多工具都很昂贵,但有时有免费试用版。
关于c++ - 部分解码h264流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27125750/