The `apiPreference` parameter allows to specify API backends to use. Can be used to enforce a specific reader implementation
if multiple are available: e.g. cv::CAP_FFMPEG or cv::CAP_GSTREAMER.
*/
- CV_WRAP VideoWriter(int apiPreference, const String& filename, int fourcc, double fps,
+ CV_WRAP VideoWriter(const String& filename, int apiPreference, int fourcc, double fps,
Size frameSize, bool isColor = true);
/** @brief Default destructor
CV_WRAP virtual bool open(const String& filename, int fourcc, double fps,
Size frameSize, bool isColor = true);
- /** @brief Initializes or reinitializes video writer.
-
- The method opens video writer. Parameters are the same as in the constructor
- VideoWriter::VideoWriter.
- @return `true` if video writer has been successfully initialized
-
- The method first calls VideoWriter::release to close the already opened file.
+ /** @overload
*/
- CV_WRAP bool open(int apiPreference, const String& filename, int fourcc, double fps,
+ CV_WRAP bool open(const String& filename, int apiPreference, int fourcc, double fps,
Size frameSize, bool isColor = true);
/** @brief Returns true if video writer has been successfully initialized.
* Videowriter dispatching method: it tries to find the first
* API that can write a given stream.
*/
-CV_IMPL CvVideoWriter* cvCreateVideoWriter( const char* filename, int fourcc,
- double fps, CvSize frameSize, int is_color )
-{
- return cvCreateVideoWriterWithPreference(CV_CAP_ANY, filename, fourcc, fps, frameSize, is_color);
-}
-
-CvVideoWriter* cvCreateVideoWriterWithPreference(int apiPreference, const char* filename, int fourcc,
+static CvVideoWriter* cvCreateVideoWriterWithPreference(const char* filename, int apiPreference, int fourcc,
double fps, CvSize frameSize, int is_color )
{
CV_UNUSED(frameSize);
return result;
}
+CV_IMPL CvVideoWriter* cvCreateVideoWriter( const char* filename, int fourcc,
+ double fps, CvSize frameSize, int is_color )
+{
+ return cvCreateVideoWriterWithPreference(filename, CV_CAP_ANY, fourcc, fps, frameSize, is_color);
+}
+
CV_IMPL int cvWriteFrame( CvVideoWriter* writer, const IplImage* image )
{
return writer ? writer->writeFrame(image) : 0;
return Ptr<IVideoCapture>();
}
-static Ptr<IVideoWriter> IVideoWriter_create(int apiPreference, const String& filename, int _fourcc, double fps, Size frameSize, bool isColor)
+static Ptr<IVideoWriter> IVideoWriter_create(const String& filename, int apiPreference, int _fourcc, double fps, Size frameSize, bool isColor)
{
Ptr<IVideoWriter> iwriter;
#ifdef HAVE_MFX
}
-VideoWriter::VideoWriter(int apiPreference, const String& filename, int _fourcc, double fps, Size frameSize, bool isColor)
+VideoWriter::VideoWriter(const String& filename, int apiPreference, int _fourcc, double fps, Size frameSize, bool isColor)
{
- open(apiPreference, filename, _fourcc, fps, frameSize, isColor);
+ open(filename, apiPreference, _fourcc, fps, frameSize, isColor);
}
void VideoWriter::release()
bool VideoWriter::open(const String& filename, int _fourcc, double fps, Size frameSize, bool isColor)
{
- return open(CAP_ANY, filename, _fourcc, fps, frameSize, isColor);
+ return open(filename, CAP_ANY, _fourcc, fps, frameSize, isColor);
}
-bool VideoWriter::open(int apiPreference, const String& filename, int _fourcc, double fps, Size frameSize, bool isColor)
+bool VideoWriter::open(const String& filename, int apiPreference, int _fourcc, double fps, Size frameSize, bool isColor)
{
CV_INSTRUMENT_REGION()
if (isOpened()) release();
- iwriter = IVideoWriter_create(apiPreference, filename, _fourcc, fps, frameSize, isColor);
+ iwriter = IVideoWriter_create(filename, apiPreference, _fourcc, fps, frameSize, isColor);
if (!iwriter.empty())
return true;
- writer.reset(cvCreateVideoWriterWithPreference(apiPreference, filename.c_str(), _fourcc, fps, frameSize, isColor));
+ writer.reset(cvCreateVideoWriterWithPreference(filename.c_str(), apiPreference, _fourcc, fps, frameSize, isColor));
return isOpened();
}