来自 MPEG4 流的运动矢量和 DC 系数

Posted

技术标签:

【中文标题】来自 MPEG4 流的运动矢量和 DC 系数【英文标题】:Motion Vectors and DC coefficients from MPEG4 stream 【发布时间】:2012-04-19 12:51:57 【问题描述】:

我需要从 MPEG4 视频中提取有关运动矢量和 DC 系数的信息。我搜索了相关站点和主题,发现一个好的解决方案是使用 ffmpeg 编解码器的代码。尤其是libavcodec/mpegvideo.c中的ff_print_debug_info函数计算相关信息。

但是,我是 C/C++ 领域的新手,如果有任何示例代码描述或解释如何提取 MV 和 DC 系数,这将非常有帮助。

在我使用的最新版本中(来自http://ffmpeg.org/download.html 的FFmpeg 0.10.2)还有另一个文件mpeg4videodec.c。有没有机会通过此代码检索所需的信息?

【问题讨论】:

我发现 ffmpeg 可以通过在执行时将适当的值定义为原点来提供有关运动矢量和 DC 系数的信息。 [链接] (ffmpeg.org/ffmpeg.html#Advanced-Video-Options) 上的第 4.11 节描述了如何打印特定的调试信息,在我的例子中是 -debug dct_coeff 和 -debug mv。有谁知道要使用的适当命令是什么?我想要的只是使用 ffmpeg 将 mpeg4 视频解码为其帧,同时在这些帧上提取有关 mv 和 dct 的信息。 【参考方案1】:

查看这段代码:http://www.princeton.edu/~jiasic/cos435/motion_vector.c

它给出了使用 ffmpeg 解码帧访问运动矢量的基本思想。

至于 DC 系数,除了将您自己的代码注入解码器以在您解码时转储系数之外,我没有看到任何其他方法。

【讨论】:

以上是关于来自 MPEG4 流的运动矢量和 DC 系数的主要内容,如果未能解决你的问题,请参考以下文章

从通用视频编码中提取运动矢量

从 H.264 比特流中提取运动矢量 [关闭]

pygame中奇怪的矢量运动

从前 10 帧中找到运动矢量

视频编解码 - 帧间预测

光流(Optical flow)-视频分析基础概念