實時獲取海康攝像頭rtsp流


網絡攝像頭型號

  海康威視DS-2CD3345-1  2.8mm

    參數: 400萬    紅外30米    PoE供電    焦距2.8mm

協議及設置地址

  協議: rtsp

  設置地址: rtsp://admin:jdrx1234567@192.168.60.30:554/h264/ch1/sub/av_stream

代碼版本

  openCV : 3.4.10

  依賴的javacv :

<dependency>
          <groupId>org.bytedeco</groupId>
          <artifactId>javacv-platform</artifactId>
          <version>1.5.3</version>
      </dependency>
      <dependency>
          <groupId>org.bytedeco</groupId>
          <artifactId>javacv</artifactId>
          <version>1.5.3</version>
      </dependency>

測試代碼

@Test public void testRtsp() { //必須要加入這兩個東西
        System.load("D:\\Programs\\opencv\\build\\x64\\vc15\\bin\\opencv_world3410.dll"); System.load("D:\\Programs\\opencv\\build\\bin\\opencv_ffmpeg3410_64.dll"); VideoCapture vc = new VideoCapture(); boolean isOpen = vc.open("rtsp://admin:jdrx1234567@192.168.60.30:554/h264/ch1/sub/av_stream"); System.out.println("isOpen="+isOpen); Mat mat = new Mat(); String winName = "showFrame"; int height = 600,width = 800; HighGui.namedWindow(winName); HighGui.resizeWindow(winName, width, height); while(vc.read(mat)){ System.out.println("read......."); // 重置大小
            Mat dst = new Mat(); Imgproc.resize(mat, dst, new Size(width,height)); // 顯示
 HighGui.imshow(winName, dst); // waitkey 必須要,否則無法顯示
            int key = HighGui.waitKey(1); System.out.println("key="+key); //esc鍵退出
            if(key == 27){ break; } //拿到了每幀之后要干嘛就是后面邏輯的事情了
 } HighGui.destroyAllWindows(); vc.release(); }

此代碼摘抄自網絡。

測試效果

 錄屏


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM