[][src]Struct opencv::videoio::VideoWriter

pub struct VideoWriter { /* fields omitted */ }

Video writer class.

The class provides C++ API for writing video files or image sequences.

Methods

impl VideoWriter[src]

pub fn as_raw_VideoWriter(&self) -> *mut c_void[src]

pub unsafe fn from_raw_ptr(ptr: *mut c_void) -> Self[src]

impl VideoWriter[src]

pub fn default() -> Result<VideoWriter>[src]

Default 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.

pub fn new(
    filename: &str,
    fourcc: i32,
    fps: f64,
    frame_size: Size,
    is_color: bool
) -> Result<VideoWriter>
[src]

Parameters

  • filename: Name of the output video file.
  • fourcc: 4-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.
  • fps: Framerate of the created video stream.
  • frameSize: Size of the video frames.
  • isColor: If 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).

@b Tips:

  • With some backends fourcc=-1 pops up the codec selection dialog from the system.
  • To save image sequence use a proper filename (eg. img_%02d.jpg) and fourcc=0 OR fps=0. Use uncompressed image format (eg. img_%02d.BMP) to save raw frames.
  • Most codecs are lossy. If you want lossless video file you need to use a lossless codecs (eg. FFMPEG FFV1, Huffman HFYU, Lagarith LAGS, etc...)
  • If FFMPEG is enabled, using codec=0; fps=0; you can create an uncompressed (raw) video file.

C++ default parameters

  • is_color: true

pub fn new_with_backend(
    filename: &str,
    api_preference: i32,
    fourcc: i32,
    fps: f64,
    frame_size: Size,
    is_color: bool
) -> Result<VideoWriter>
[src]

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.

C++ default parameters

  • is_color: true

pub fn open(
    &mut self,
    filename: &str,
    fourcc: i32,
    fps: f64,
    frame_size: Size,
    is_color: bool
) -> Result<bool>
[src]

Initializes or reinitializes video writer.

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

Returns

true if video writer has been successfully initialized

The method first calls VideoWriter::release to close the already opened file.

C++ default parameters

  • is_color: true

pub fn open_with_backend(
    &mut self,
    filename: &str,
    api_preference: i32,
    fourcc: i32,
    fps: f64,
    frame_size: Size,
    is_color: bool
) -> Result<bool>
[src]

C++ default parameters

  • is_color: true

pub fn is_opened(&self) -> Result<bool>[src]

Returns true if video writer has been successfully initialized.

pub fn release(&mut self) -> Result<()>[src]

Closes the video writer.

The method is automatically called by subsequent VideoWriter::open and by the VideoWriter destructor.

pub fn write(&mut self, image: &Mat) -> Result<()>[src]

Writes the next video frame

Parameters

  • image: The written frame. In general, color images are expected in BGR format.

The function/method writes the specified image to video file. It must have the same size as has been specified when opening the video writer.

pub fn set(&mut self, prop_id: i32, value: f64) -> Result<bool>[src]

Sets a property in the VideoWriter.

Parameters

  • propId: Property identifier from cv::VideoWriterProperties (eg. cv::VIDEOWRITER_PROP_QUALITY) or one of @ref videoio_flags_others

  • value: Value of the property.

Returns

true if the property is supported by the backend used by the VideoWriter instance.

pub fn get(&self, prop_id: i32) -> Result<f64>[src]

Returns the specified VideoWriter property

Parameters

  • propId: Property identifier from cv::VideoWriterProperties (eg. cv::VIDEOWRITER_PROP_QUALITY) or one of @ref videoio_flags_others

Returns

Value for the specified property. Value 0 is returned when querying a property that is not supported by the backend used by the VideoWriter instance.

pub fn fourcc(c1: i8, c2: i8, c3: i8, c4: i8) -> Result<i32>[src]

Concatenates 4 chars to a fourcc code

Returns

a fourcc code

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

pub fn get_backend_name(&self) -> Result<String>[src]

Returns used backend API name

Note: Stream should be opened.

Trait Implementations

impl Send for VideoWriter[src]

impl Drop for VideoWriter[src]

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]