OpenCV  3.0.0-dev
Open Source Computer Vision
Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
cv::VideoWriter Class Reference

Video writer class. More...

#include "videoio.hpp"

Public Member Functions

 VideoWriter ()
 VideoWriter constructors. More...
 
 VideoWriter (const String &filename, int fourcc, double fps, Size frameSize, bool isColor=true)
 
virtual ~VideoWriter ()
 
virtual double get (int propId) const
 Returns the specified VideoWriter property. More...
 
virtual bool isOpened () const
 Returns true if video writer has been successfully initialized. More...
 
virtual bool open (const String &filename, int fourcc, double fps, Size frameSize, bool isColor=true)
 Initializes or reinitializes video writer. More...
 
virtual VideoWriteroperator<< (const Mat &image)
 
virtual void release ()
 Closes the video writer. More...
 
virtual bool set (int propId, double value)
 Sets a property in the VideoWriter. More...
 
virtual void write (const Mat &image)
 Writes the next video frame. More...
 

Static Public Member Functions

static int fourcc (char c1, char c2, char c3, char c4)
 Concatenates 4 chars to a fourcc code. More...
 

Static Protected Member Functions

static Ptr< IVideoWriter > create (const String &filename, int fourcc, double fps, Size frameSize, bool isColor=true)
 

Protected Attributes

Ptr< IVideoWriter > iwriter
 
Ptr< CvVideoWriterwriter
 

Detailed Description

Video writer class.

Constructor & Destructor Documentation

cv::VideoWriter::VideoWriter ( )

VideoWriter constructors.

The constructors/functions initialize video writers. On Linux FFMPEG is used to write videos; on Windows FFMPEG or VFW is used; on MacOSX QTKit is used.

cv::VideoWriter::VideoWriter ( const String filename,
int  fourcc,
double  fps,
Size  frameSize,
bool  isColor = true 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
filenameName of the output video file.
fourcc4-character code of codec used to compress the frames. For example, VideoWriter::fourcc('P','I','M','1') is a MPEG-1 codec, VideoWriter::fourcc('M','J','P','G') is a motion-jpeg codec etc. List of codes can be obtained at Video Codecs by FOURCC page. FFMPEG backend with MP4 container natively uses other values as fourcc code: see ObjectType, so you may receive a warning message from OpenCV about fourcc code conversion.
fpsFramerate of the created video stream.
frameSizeSize of the video frames.
isColorIf it is not zero, the encoder will expect and encode color frames, otherwise it will work with grayscale frames (the flag is currently supported on Windows only).
virtual cv::VideoWriter::~VideoWriter ( )
virtual

Member Function Documentation

static Ptr<IVideoWriter> cv::VideoWriter::create ( const String filename,
int  fourcc,
double  fps,
Size  frameSize,
bool  isColor = true 
)
staticprotected
static int cv::VideoWriter::fourcc ( char  c1,
char  c2,
char  c3,
char  c4 
)
static

Concatenates 4 chars to a fourcc code.

This static method constructs the fourcc code of the codec to be used in the constructor VideoWriter::VideoWriter or VideoWriter::open.

virtual double cv::VideoWriter::get ( int  propId) const
virtual

Returns the specified VideoWriter property.

Parameters
propIdProperty identifier. It can be one of the following:
  • VIDEOWRITER_PROP_QUALITY Current quality of the encoded videostream.
  • VIDEOWRITER_PROP_FRAMEBYTES (Read-only) Size of just encoded video frame; note that the encoding order may be different from representation order.
  • VIDEOWRITER_PROP_NSTRIPES Number of stripes for parallel encoding
Note
When querying a property that is not supported by the backend used by the VideoWriter class, value 0 is returned.
virtual bool cv::VideoWriter::isOpened ( ) const
virtual

Returns true if video writer has been successfully initialized.

virtual bool cv::VideoWriter::open ( const String filename,
int  fourcc,
double  fps,
Size  frameSize,
bool  isColor = true 
)
virtual

Initializes or reinitializes video writer.

The method opens video writer. Parameters are the same as in the constructor VideoWriter::VideoWriter.

virtual VideoWriter& cv::VideoWriter::operator<< ( const Mat image)
virtual
virtual void cv::VideoWriter::release ( )
virtual

Closes the video writer.

The methods are automatically called by subsequent VideoWriter::open and by the VideoWriter destructor.

virtual bool cv::VideoWriter::set ( int  propId,
double  value 
)
virtual

Sets a property in the VideoWriter.

Parameters
propIdProperty identifier. It can be one of the following:
  • VIDEOWRITER_PROP_QUALITY Quality (0..100%) of the videostream encoded. Can be adjusted dynamically in some codecs.
  • VIDEOWRITER_PROP_NSTRIPES Number of stripes for parallel encoding
valueValue of the property.
virtual void cv::VideoWriter::write ( const Mat image)
virtual

Writes the next video frame.

Parameters
imageThe written frame

The functions/methods write the specified image to video file. It must have the same size as has been specified when opening the video writer.

Member Data Documentation

Ptr<IVideoWriter> cv::VideoWriter::iwriter
protected
Ptr<CvVideoWriter> cv::VideoWriter::writer
protected

The documentation for this class was generated from the following file: