Opencv VideoCapture File, Web Camera, RTSP 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 of 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 for Opencv.

You need to download and build my own in the case of Debian Jessie or some version of Ubuntu.
Just download, and 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;
       }
}

Next Post Previous Post
24 Comments
  • T.O.T.E
    T.O.T.E June 15, 2016 at 5:52 AM

    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.

  • Alex moner
    Alex moner May 15, 2017 at 5:05 AM

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

  • UplayOnline
    UplayOnline May 25, 2017 at 7:45 AM

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



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



    goldenslot

  • Jims linda
    Jims linda July 29, 2017 at 10:31 AM

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

  • Unknown
    Unknown September 19, 2017 at 8:01 PM

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

    thanks

  • Unknown
    Unknown September 19, 2017 at 8:02 PM

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

    Thank You

  • Leaf`
    Leaf` November 30, 2017 at 6:52 PM

    Thank so much.

    sbobet
    maxbet
    แทงบอลออนไลน์
    แทงบอล sbobet

  • Spack Jarrow
    Spack Jarrow December 6, 2017 at 1:08 AM

    Thank you so much for source code.
    แทงบอล sbobet
    หวยออนไลน์
    royal1688
    ทางเข้า maxbet

  • jhon
    jhon December 7, 2017 at 6:28 AM

    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

  • Anonymous
    Anonymous January 15, 2018 at 11:03 PM

    Thanks for the info.

    ทางเข้า maxbet

    m8bet


    m8bet

  • Unknown
    Unknown January 23, 2018 at 7:16 AM

    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!

  • TONLOVE69
    TONLOVE69 January 26, 2018 at 8:17 PM

    Thank you for this useful information.

    maxbet
    แทงบอล maxbet
    ทางเข้า maxbet

  • mozav007
    mozav007 February 1, 2018 at 9:01 PM

    Thanks for the info.

    maxbet
    แทงบอล maxbet
    ทางเข้า maxbet

  • Bk_Service
    Bk_Service April 7, 2018 at 9:12 AM

    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

  • mark johnson
    mark johnson April 9, 2018 at 6:18 AM

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

  • alizybeth
    alizybeth May 30, 2018 at 3:43 PM

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

  • Muhammad Hassan
    Muhammad Hassan August 17, 2018 at 9:23 AM

    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

  • Anonymous
    Anonymous November 27, 2018 at 1:46 AM

    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

  • Mirnalini Sathya
    Mirnalini Sathya March 13, 2019 at 1:08 AM

    Thanks admin for the wonderful post uploaded.

    AWS Training in Chennai
    Java Training in Chennai
    DevOps Training in Chennai
    Python Training in Chennai
    Python Course in Chennai

  • Arsan Kumala Jaya
    Arsan Kumala Jaya April 10, 2019 at 9:02 PM

    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.

  • Anbarasan14
    Anbarasan14 May 28, 2019 at 11:51 PM

    This blog enabled me to get to know more in detail on this topic. Would definitely appreciate your efforts taken in sharing these post with us.

    Spoken English Classes in Chennai Anna Nagar
    Spoken English Class in Porur Chennai
    Spoken English Class in Vadapalani
    Spoken English Class in Thiruvanmiyur
    Spoken English Class in Chennai
    Spoken English in Chennai
    IELTS Coaching Centre in Chennai
    English Speaking Course in Mumbai
    IELTS Coaching in Mumbai

  • akshaya
    akshaya May 29, 2019 at 11:56 PM

    Thanks to the admin you have spend a lot for this blog I gained some useful info for you. Keep doing.
    Ethical Hacking Course in Chennai
    Hacking Course in Chennai
    ReactJS Training in Chennai
    ccna Training in Chennai
    ccna Training in Chennai
    web designing training in chennai

  • Garrick Co Ida
    Garrick Co Ida December 6, 2019 at 1:19 AM

    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 assoc…

  • Dennis
    Dennis January 20, 2020 at 9:05 PM

    Thanks for your blog!!.
    JAVA Development Services
    HR Pay Roll Software
    SAP Software Services
    Hotel Billing Software
    Web Design Company
    Hospital Management Software

Add Comment
comment url