Explicitly set ffmpeg to open video
Is there a way to explicitly specify ffmpeg usage to open video with VideoCapture on any platform?
Is there a way to explicitly specify ffmpeg usage to open video with VideoCapture on any platform?
take a look at the documentation of VideoCapture and VideoCapture.open()
example usage:
String filename = "768x576.avi";
VideoCapture capture( filename, CAP_FFMPEG);
or
String filename = "768x576.avi";
VideoCapture capture;
capture.open( filename, CAP_FFMPEG);
Hello every one. I'm using opencv 3.1
std::string filename = "1440x1072.avi";
capture.open(filename, CAP_FFMPEG);
//internally it invoke follow code
//opencv code
bool VideoCapture::open(const String& filename, int apiPreference)
{
if (isOpened()) release();
icap = IVideoCapture_create(filename);
if (!icap.empty())
return true;
cap.reset(cvCreateFileCaptureWithPreference(filename.c_str(), apiPreference)); // !! <- and only here opencv start working with apiPreference!
return isOpened();
}
//opencv code
so how to using apiPreference correctly? In my case, i get cap = IVideoCapture_create(filename) not empty and cvCreateFileCaptureWithPreference never invoke. Does it bug?
Just in case, I open "ProcessExplorer" app and check what kind of dll was started with my application. There no any ffmpeg dll in list.
Then I rename video file with non english words (some russians symbols) and after that string cap = IVideoCapture_create(filename) make empty, and program go to execute cvCreateFileCaptureWithPreference. I open "ProcessExplorer" and see now application using opencv_ffmpeg310_64.dll
Also the video file has some kind of interlines capture, and after capture.read(mat) procedure, the height ot the output mat is half of original video frame (536 instead of 1072). When opencv_ffmpeg310_64.dll using I get original frame
Asked: 2015-12-21 04:51:50 -0600
Seen: 840 times
Last updated: Aug 11 '16
OpenCV DescriptorMatcher matches
Conversion between IplImage and MxArray
Video On Label OpenCV Qt :: hide cvNamedWindows
Problems using the math.h class with OpenCV (c++, VS2012)
How to reduce false positives for face detection
Area of a single pixel object in OpenCV
build problems for android_binary_package - Eclipse Indigo, Ubuntu 12.04
Can't compile .cu file when including opencv.hpp
Using OpenCV's stitching module, strange error when compositing images