【发布时间】:2015-07-22 09:40:40
【问题描述】:
我正在使用 ffmpeg 使用示例文档 extract_mvs.c 提取运动矢量。问题是这段代码似乎只提供了一些信息:帧号、宏块的大小、源(未来或过去)、源(x 和 y)和目标(x 和 y)。
不幸的是,这并没有说明来源来自过去或未来的哪个帧(它可能来自两者,来自过去的几个,或未来的几个)。它也没有说明宏块类型是什么(它告诉类似有用的信息)。例如,如果源(x 和 y)等于目标(x 和 y),则无法判断该信息是否与最后一帧相同,或者它是否输入了全新的信息。
参见 ffmpeg 中 extract_mvs.c 代码中的第 60-63 行
最后一个问题是,对于 MP4,运动矢量通常具有四分之一像素分辨率,并且这里给出的分辨率显然是四舍五入到最接近的整数。我应该如何在舍入之前提取“真实”运动矢量信息?
【问题讨论】:
-
如果您想在公开的运动矢量 API 中获得更多信息,您可能需要修补 FFmpeg 以提供更多信息,请向上游发送补丁。目前,无法获取您要查找的信息。
-
@loo-yung 你能告诉我你是如何使用motionVector源来提取运动矢量的吗?我一直在网上搜索一些提取运动矢量的参考。
标签: c vector ffmpeg computer-vision motion