gpt4 book ai didi

video-streaming - 通过 Java 进行视频捕获(实时视频流)

转载 作者:行者123 更新时间:2023-12-04 07:18:30 25 4
gpt4 key购买 nike

我想编写一个程序,可以使用 Java 语言通过我的网络摄像头捕获视频,即实时视频流。
我发现了一些关于这个主题的线索,但问题是如何让我的程序独立于操作系统,比如如何在 32 位和 64 位操作系统上捕获视频..

请帮我解决这个问题,我做这份工作的时间很短。此外,如果有人对这个主题有一些线索,请在此处发布其链接..
谢谢。

最佳答案

  • 由于 j2se 中没有可用于从网络摄像头捕获视频的类,因此您需要一个像 JMF 或 JavaCV 这样的外部库来执行相同的操作。
  • 要安装 JavaCV,您将在以下链接中找到说明:

    一种。 ganeshtiwaridotcomdotnp.blogspot.in Link

    湾code.google.com Link
  • 从相机实时捕获视频的代码:
    import com.googlecode.javacv.CanvasFrame;
    import com.googlecode.javacv.FrameGrabber;
    import com.googlecode.javacv.VideoInputFrameGrabber;
    import com.googlecode.javacv.cpp.opencv_core.IplImage;
    import static com.googlecode.javacv.cpp.opencv_core.cvFlip;

    class GrabberShow implements Runnable
    {
    IplImage image;
    CanvasFrame canvas = new CanvasFrame("Web Cam");
    public GrabberShow() {
    canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
    }
    @Override
    public void run() {
    FrameGrabber grabber = new VideoInputFrameGrabber(0); // 1 for next camera
    try {
    grabber.start();
    IplImage img;
    while (true) {
    img = grabber.grab();
    if (img != null) {
    cvFlip(img, img, 1);// l-r = 90_degrees_steps_anti_clockwise
    canvas.showImage(img);
    }
    }
    } catch (Exception e) {}
    }
    }

    public class Main
    {
    public static void main(String[] args)
    {
    GrabberShow gs = new GrabberShow();
    Thread th = new Thread(gs);
    th.start();
    }
    }

  • 希望这可以帮助。

    关于video-streaming - 通过 Java 进行视频捕获(实时视频流),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11333564/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com