OpenCV C++ Program to play a video Last Updated : 19 Dec, 2022 Summarize Comments Improve Suggest changes Share Like Article Like Report The following is the explanation to the C++ code to play a video in C++ using the tool OpenCV. Things to know: (1) The code will only compile in Linux environment. (2) To run in windows, please use the file: 'play_video.o' and run it in cmd. However if it does not run(problem in system architecture) then compile it in windows by making suitable and obvious changes to the code like: Use <iostream.h> in place of <iostream>. (3) Compile command: g++ -w vid.cpp -o vid `pkg-config --libs opencv` (4) Run command: ./vid (5) Please make sure that the video : “Bumpy.mp4” is in the same location. Before you run the code, please make sure that you have OpenCV installed on your system. Code Snippet: #include "opencv2/highgui/highgui.hpp" // highgui - an interface to video and image capturing. #include // The header files for performing input and output. using namespace cv; // Namespace where all the C++ OpenCV functionality resides. using namespace std; // For input output operations. int main() { VideoCapture cap("Bumpy.mp4"); // cap is the object of class video capture that tries to capture Bumpy.mp4 if ( !cap.isOpened() ) // isOpened() returns true if capturing has been initialized. { cout << "Cannot open the video file. \n"; return -1; } double fps = cap.get(CV_CAP_PROP_FPS); //get the frames per seconds of the video // The function get is used to derive a property from the element. // Example: // CV_CAP_PROP_POS_MSEC : Current Video capture timestamp. // CV_CAP_PROP_POS_FRAMES : Index of the next frame. namedWindow("A_good_name",CV_WINDOW_AUTOSIZE); //create a window called "MyVideo" // first argument: name of the window. // second argument: flag- types: // WINDOW_NORMAL : The user can resize the window. // WINDOW_AUTOSIZE : The window size is automatically adjusted to fit the displayed image() ), and you cannot change the window size manually. // WINDOW_OPENGL : The window will be created with OpenGL support. while(1) { Mat frame; // Mat object is a basic image container. frame is an object of Mat. if (!cap.read(frame)) // if not success, break loop // read() decodes and captures the next frame. { cout<<"\n Cannot read the video file. \n"; break; } imshow("A_good_name", frame); // first argument: name of the window. // second argument: image to be shown(Mat object). if(waitKey(30) == 27) // Wait for 'esc' key press to exit { break; } } return 0; } // END OF PROGRAM About the Author: Aditya Prakash is an undergraduate student at Indian Institute of Information Technology, Vadodara. He primarily codes in C++. The motto for him is: So far so good. He plays cricket, watches superhero movies, football and is a big fan of answering questions. If you also wish to showcase your blog here, please see GBlog for guest blog writing on GeeksforGeeks. Comment More infoAdvertise with us K kartik Follow Improve Article Tags : Project C++ OpenCV Practice Tags : CPP Similar Reads C++ Programming Language C++ is a computer programming language developed by Bjarne Stroustrup as an extension of the C language. It is known for is fast speed, low level memory management and is often taught as first programming language. It provides:Hands-on application of different programming concepts.Similar syntax to 5 min read Object Oriented Programming in C++ Object Oriented Programming - As the name suggests uses objects in programming. Object-oriented programming aims to implement real-world entities like inheritance, hiding, polymorphism, etc. in programming. The main aim of OOP is to bind together the data and the functions that operate on them so th 5 min read 30 OOPs Interview Questions and Answers [2025 Updated] Object-oriented programming, or OOPs, is a programming paradigm that implements the concept of objects in the program. It aims to provide an easier solution to real-world problems by implementing real-world entities such as inheritance, abstraction, polymorphism, etc. in programming. OOPs concept is 15 min read Inheritance in C++ The capability of a class to derive properties and characteristics from another class is called Inheritance. Inheritance is one of the most important features of Object-Oriented Programming in C++. In this article, we will learn about inheritance in C++, its modes and types along with the informatio 10 min read Vector in C++ STL C++ vector is a dynamic array that stores collection of elements same type in contiguous memory. It has the ability to resize itself automatically when an element is inserted or deleted.Create a VectorBefore creating a vector, we must know that a vector is defined as the std::vector class template i 7 min read Templates in C++ C++ template is a powerful tool that allows you to write a generic code that can work with any data type. The idea is to simply pass the data type as a parameter so that we don't need to write the same code for different data types.For example, same sorting algorithm can work for different type, so 9 min read C++ Interview Questions and Answers (2025) C++ - the must-known and all-time favourite programming language of coders. It is still relevant as it was in the mid-80s. As a general-purpose and object-oriented programming language is extensively employed mostly every time during coding. As a result, some job roles demand individuals be fluent i 15+ min read Operator Overloading in C++ in C++, Operator overloading is a compile-time polymorphism. It is an idea of giving special meaning to an existing operator in C++ without changing its original meaning.In this article, we will further discuss about operator overloading in C++ with examples and see which operators we can or cannot 8 min read Sequence Diagrams - Unified Modeling Language (UML) A Sequence Diagram is a key component of Unified Modeling Language (UML) used to visualize the interaction between objects in a sequential order. It focuses on how objects communicate with each other over time, making it an essential tool for modeling dynamic behavior in a system. Sequence diagrams 11 min read C++ Standard Template Library (STL) The C++ Standard Template Library (STL) is a set of template classes and functions that provides the implementation of common data structures and algorithms such as lists, stacks, arrays, sorting, searching, etc. It also provides the iterators and functors which makes it easier to work with algorith 9 min read Like