Java - 从视频中提取关键帧

时间:2011-06-09 16:02:11

标签: java video-processing xuggle

我想从视频中提取关键帧。 现在我正在使用一个循环来比较一帧的样本和前一帧的样本,但这种方法不是很好。

让我解释一下:我有一个监控视频,我必须选择有变化的帧(一个人出现,另一个人出现,一个人离开,等等)现在我正在用这个班来比较帧:Java Image Comparison / Motion Detection Class

你知道其他方法吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

我不确定你称之为“ keyframe ”。你的方法只允许你找到场景转换,但这不是视频解码中“关键帧”通常所说的:它通常是I-frame(一个可以自己解码的帧,没有引用到其他框架)。 (场景转换经常是关键帧,但不一定是另一种方式)。当然,这个概念与视频编解码器有关,但大多数现代编解码器(来自MPEG-1)都实现了这一概念。但请注意,这与原始图片无关,而是与编解码器有关。

如果要检测这些关键帧(I帧),则必须查看视频解码API,看看它是否允许您获取此信息。似乎xuggle为您提供了IVideoPicture.getPictureType()方法,但我还没有使用它。