首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java视频处理库

Java视频处理库
EN

Stack Overflow用户
提问于 2012-10-22 20:22:49
回答 4查看 13K关注 0票数 9

我想从视频中提取帧,并对其应用一些过滤器,如gabor/hough等。哪个Java库最适合处理所有类型的视频编码?我一直在寻找GStreamer,JMF,Xuggler等,但无法决定哪一个将是最好的。我还希望编辑帧和使视频与新的帧。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-10-22 20:31:35

如果您希望执行低级操作,比如提取帧并对其进行操作,那么Xuggler将是最好的选择,因为API就是围绕着这个低级进行的。它在ffmpeg上工作,因此可以处理所有类型的视频编码。

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

票数 12
EN

Stack Overflow用户

发布于 2016-06-30 11:52:05

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

加载视频并实时处理帧非常容易,如下面的边缘检测示例所示。

源码:

代码语言:javascript
复制
import static marvin.MarvinPluginCollection.*;

public class SimpleVideoProcessing extends JFrame implements Runnable{

    private MarvinVideoInterface    videoAdapter = new MarvinJavaCVAdapter();
    private MarvinImagePanel        videoPanel = new MarvinImagePanel();
    private MarvinImage             videoFrame, videoOut = new MarvinImage(640,480);

    public SimpleVideoProcessing() throws MarvinVideoInterfaceException{
        super("Simple Video Processing using Marvin");
        add(videoPanel);
        // Load video file and start the processing thread
        videoAdapter.loadResource("./res/snooker.wmv");
        new Thread(this).start();
        setSize(640,500);
        setVisible(true);
    }

    public void run() {
        try {
            while(true){
                // Request, process and show the video frame.
                videoOut.clear();
                videoFrame = videoAdapter.getFrame();
                prewitt(videoFrame.clone(), videoOut);
                videoPanel.setImage(videoOut);
            }
        } catch (MarvinVideoInterfaceException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws MarvinVideoInterfaceException {
        new SimpleVideoProcessing().setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
票数 3
EN

Stack Overflow用户

发布于 2012-10-29 04:48:01

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13011397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档