ffmpeg Mpeg-4编码中的DCT系数和MV提取



我正在使用ffmpeg和libx264对视频进行编码,我想在编码过程中提取每帧的DCT系数和运动矢量。

最好的方法是什么?

我在 ffmpeg 手册中读到,可以使用带有一些标志的调试模式来提取这些值。我尝试ffmpeg -debug dct_coeff输出 dct 系数,但此选项对我不起作用;它是否已弃用或与特定的 FFMPEG 版本相关?

另一种选择是修改和重新编译 ffmpeg 源代码,但我不知道 DCT 和 MV 的代码的哪一部分是计算的。

有关调试模式或代码修改建议的任何帮助将不胜感激。

VQEG团队修改的H.264(链接(的JMreference工具版本允许生成解码.264视频的xml跟踪文件。跟踪文件包含有关比特流的所有信息,包括每个像素的运动矢量和残差(从 DCT 转换获得(。

多种尝试选项:

-

->使用 x264 源代码比 ffmpeg 好得多,因为 ffmpeg 中的代码很复杂。你可以从这里下载x264并查看编码器/me.c文件。它有几种块匹配算法,根据编码设置从中选择一种。从那里,搜索后,您可以获得MV_x和MV_y

-

->按照 aergistal 的建议使用 ffmpeg 代码或使用 ffplay/mplayer 在解码时显示运动矢量,如下所示:

ffplay -flags2 +export_mvs input.mp4
-

-> 你可以在这里使用这个现成的工具

相关内容

  • 没有找到相关文章

最新更新