2012-07-04 107 views
3

我想寫一個程序,可以通過我的網絡攝像頭使用Java語言捕捉視頻,即實時視頻流。 我發現了一些關於這個主題的線程,但問題是我如何使我的程序操作系統獨立,如何捕獲視頻在32位和64位操作系統上。這份工作很短的時間。此外,如果任何人有一些導致這個話題,發佈其鏈接在這裏.. 謝謝。通過Java的視頻捕捉(實時視頻流)

回答

3
  1. 由於有在J2SE無類,可用於從網絡攝像頭捕獲視頻,所以你需要像JMF或JavaCV外部庫,做同樣的。

  2. 要安裝JavaCV你會發現這些鏈接說明:

    一個。 ganeshtiwaridotcomdotnp.blogspot.in Link

    b。 code.google.com Link

  3. 代碼捕捉實時視頻從攝像機:

    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(); 
         } 
    } 
    

希望這會有所幫助。