I'm writing a simple software to capture and record webcam images to a compressed video file. I'm using OpenCV "VideoCapture read(frame)" and "VideoWriter write(frame)" in a C++ software.
I'm on Ubuntu 14.04 LTS operating system.
I would like to know which library OpenCV is using under the hood. Is it ffmpeg or gstreamer or V4L2 or its own low level source code ? It seems to be changing depending of the OpenCV version I'm using. (Ex 2.4.1, 2.4.11, 3.x)
Can somebody give me a overview of what OpenCV is doing to decode/encode video ?
What is the typical path of the video data coming from the webcam up to my program in user space ? What is the typical path of the video data coming from program up to the file system ?
Right now, this is confusing for me.