Skip to main content

Opencv VideoCapture File, Web Camera, RTSP stream

Opencv VideoCapture File, Camera and stream

Opencv tutorial simple code in C++ to capture video from File, Ip camera stream and also the web camera plug into the computer. The key is to have installed the FFMPEG especially in case of reading the stream of IP cameras. In windows just use Opencv Installation by Nugets packages Here. Simple easy under 2 minutes installation. In Linux you need to follow the instruction below. If you are on Debian Like package system. Under Fedora Red hat dist just use a different approach. Code is simple and installation is the key.. 

Windows use nugets packages
Linux you have to install and build Opencv With FFMPEG. Also simple. 

It is easy to capture video in OpenCV

Video capture
 in OpenCV is a really easy task, but for a little bit experienced user. 

What is the problem?
The problem is the installation of Opencv without recommended dependencies.

Just install all basic libs that are recommended on the website.
# Basic packages
sudo apt-get -y install build-essential
sudo apt-get -y install cmake
sudo apt-get -y install pkg-config

# Basic dependencies
sudo apt-get -y install libgtk2.0-dev python-dev python-numpy

# OpenCV dependencies part II.
sudo apt-get -y install libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libunicap2 libunicap2-dev libdc1394-22-dev libdc1394-22 libdc1394-utils libv4l-0 libv4l-dev
sudo apt-get -y install libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get -y install libdc1394-22-dev libdc1394-utils

sudo apt-get -y install libjpeg-dev libpng-dev libtiff-dev libjasper-dev
sudo apt-get -y install libtiff5 libtiff5-dev
sudo apt-get -y install libopenexr-dev
sudo apt-get -y install libjasper-dev
# Algebra
sudo apt-get -y install libeigen3-dev

Install ffmpeg .

You need to download and build my own in the case of Debian Jessie or some version of Ubuntu.
Just download, extract tar archive ffmpeg.tar.bz2.

1 configure instalation ./configure -- with Right Params.
2 Make - make -j4
3 install - make install
4 write config ldconfig -v

Compile opencv

Check this table during the OpenCV installation. if you have FFMPEG and all AV libs 
AVCODEC AVFORMAT AVUTIL AVSWSCALE you can continue with OpenCV installation.
opencv config ffmpef
Opencv config

Read video file in Opencv

VideoCapture capture("input.mp4");

Read rtsp stream in Opencv

VideoCapture capture("rtsp://USER:PASS@xxx.xxx.xxx.xxx/axis-media/media.amp?camera=2");
Some of my next post will be about rtsp stream format. PLS subscribe.

Read web camera in Opencv

VideoCapture capture(0);

Opencv 3 and higher c++ code

#include <vector>
#include <fstream>
#include <iostream>
#include <math.h>
#include <Windows.h>

#include "opencv2/video/video.hpp"
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/videoio/videoio.hpp>
#include <opencv2/imgcodecs/imgcodecs.hpp>


using namespace std;
using namespace cv;

//Chose input

//VideoCapture capture(0);
VideoCapture capture("rtsp://USER:PASS@xxx.xxx.xxx.xxx/axis-media/media.amp?camera=2");
//VideoCapture capture("input.mp4");
// create mat to fill by external source
Mat frame;

for(;;)

{
       bool OK = capture.grab();
        if (OK == false){
        cout << "cannot grab" << endl;
        }
        else{
          // retrieve a frame of your source
           capture.read(frame);
          //OR
         // capture >> frame;
       }
}

Comments

  1. Hi

    I can read the rtsp stream using opencv 3.1 (compiled with ffmpeg) in python. But after some time I start getting corrupted frames and after further time I get error while reading the frames. Have you encountered it? If it works fine for you maybe I should use the versions you are using.

    ReplyDelete
  2. Problem is instalation of Opencv without recommended dependencies.web design tutorials

    ReplyDelete
  3. Video capture
    in opencv is really easy task, but for little bit experienced user.



    โกลเด้นสล็อต



    goldenslot

    ReplyDelete
  4. The issues which are giving us trouble can be sorted out with the help of these cameras. dashcam review

    ReplyDelete
  5. How do i capture an H264 frames with OpenCV and Python?

    thanks

    ReplyDelete
  6. How do i capture an H264 frames with OpenCV and Python?

    Thank You

    ReplyDelete
  7. save some money (you don't have a webcam) you can convert your phone to an instant webcam with this amazing software.. Hikvision 8MP Cameras

    ReplyDelete
  8. Hi! I would like to open a PAL camera using a frame grabber as interface between camera and software, What kind of path for videoCapture can i use? And what speficification do i have to use as input?
    Thanks a lot!

    ReplyDelete
  9. This is genuinely an awesome read for me. I have bookmarked it and I am anticipating perusing new articles. Keep doing awesome!
    Web Development

    ReplyDelete
  10. Its a great pleasure reading your post.Its full of information I am looking for and I love to post a comment that "The content of your post is awesome" Great work.
    nescafe

    ReplyDelete

  11. Respecting the time and exertion you put into your site and point by point data you offer!..
    Web Development

    ReplyDelete
  12. make any plugins to safeguard against hackers? I'm kinda paranoid about losing everything I've worked hard on. Any tips? Hikvision Dome Cameras

    ReplyDelete
  13. I appreciate everything you have added to my knowledge base.Admiring the time and effort you put into your blog and detailed information you offer.Thanks. Best Camera Stabilizers

    ReplyDelete
  14. Thanks for your post.
    I am facing error
    video_capture = cv2.VideoCapture(rtsp://104.156.100.16:554)
    after 100 or more than hundred frame video is freeze
    Error
    [h264 @ 0x204fedc0] error while decoding MB 41 1, bytestream -11
    Thanks

    ReplyDelete
  15. Excellent Post as always and you have a great post and i like it


    โปรโมชั่นGclub ของทางทีมงานตอนนี้แจกฟรีโบนัส 50%
    เพียงแค่คุณสมัคร Gclub กับทางทีมงานของเราเพียงเท่านั้น
    ร่วมมาเป็นส่วนหนึ่งกับเว็บไซต์คาสิโนออนไลน์ของเราได้เลยค่ะ
    สมัครสมาชิกที่นี่ >>> Gclub online

    ReplyDelete
  16. Thanks for sharing such a nice thing

    เว็บไซต์คาสิโนออนไลน์ที่ได้คุณภาพอับดับ 1 ของประเทศ
    เป็นเว็บไซต์การพนันออนไลน์ที่มีคนมา สมัคร Gclub Royal1688
    และยังมีเกมส์สล็อตออนไลน์ 1688 slot อีกมากมายให้คุณได้ลอง
    สมัครสมาชิกที่นี่ >>> Gclub Royal1688

    ReplyDelete
  17. Hi all, i have problem to stream video using rtsp in python. But in VLC, my program is work.
    The error is Nonmatching transport server in reply. Could you help me ?
    I am using python 3.6 and opencv 3.4.4.

    ReplyDelete
  18. The development of artificial intelligence (AI) has propelled more programming architects, information scientists, and different experts to investigate the plausibility of a vocation in machine learning. Notwithstanding, a few newcomers will in general spotlight a lot on hypothesis and insufficient on commonsense application. Machine Learning Final Year Projects In case you will succeed, you have to begin building machine learning projects in the near future.

    Projects assist you with improving your applied ML skills rapidly while allowing you to investigate an intriguing point. Furthermore, you can include projects into your portfolio, making it simpler to get a vocation, discover cool profession openings, and Final Year Project Centers in Chennai even arrange a more significant compensation.


    Data analytics is the study of dissecting crude data so as to make decisions about that data. Data analytics advances and procedures are generally utilized in business ventures to empower associations to settle on progressively Python Training in Chennai educated business choices. In the present worldwide commercial center, it isn't sufficient to assemble data and do the math; you should realize how to apply that data to genuine situations such that will affect conduct. In the program you will initially gain proficiency with the specialized skills, including R and Python dialects most usually utilized in data analytics programming and usage; Python Training in Chennai at that point center around the commonsense application, in view of genuine business issues in a scope of industry segments, for example, wellbeing, promoting and account.

    ReplyDelete

Post a Comment