Java视频处理库

时间:2012-10-22 12:22:49

标签: java video-processing gstreamer jmf xuggle

我想从视频中提取帧并在其上应用一些过滤器,例如gabor / hough等。哪个Java库非常适合处理各种视频编码?我一直在关注GStreamer,JMF,Xuggler等,但我无法确定哪一个是最好的。我还希望编辑帧并使用新帧制作视频。

4 个答案:

答案 0 :(得分:8)

如果您正在寻找低级操作,例如提取帧并操纵它们,那么Xuggler将是最佳选择,因为API适用于这个低级别。它适用于ffmpeg,因此可以处理所有类型的视频编码。

不要将JMF用于任何事情,它是旧的,过时的和错误的 - GStreamer很好,但API更适合播放视频而不是操纵帧。

答案 1 :(得分:3)

您可以尝试Marvin Framework。它使用JavaCV进行视频编码和设备访问,但所有图像处理算法都是纯Java。

可以非常轻松地加载视频并实时处理帧,如下面的边缘检测示例所示。

enter image description here

源代码:

Console.WriteLine($"{playerInput} is not a valid input.");

答案 2 :(得分:1)

JMF是个不错的选择。但是如果处理时间在您的代码中很重要,那么最好使用Xuggler。显然,JMF比Xuggler更为通用。

答案 3 :(得分:0)

Xuggler,是的。但是如果你要进行大量的图像处理,你应该使用OpenImaj。这个库使用Xuggler作为它的依赖,但这并不是它的全部功能。想想拥有Opencv的功能而不缺乏Java中的速度。此外,它所需要的只是添加一个maven依赖,你很高兴。代码量也减少了。

注意:我仍在审核图书馆,并会不断更新我的答案。

介绍视频:https://www.youtube.com/watch?v=TNEQ0eNqLgA