vp8enc

vp8enc — Encode VP8 video streams

Synopsis

struct              GstVP8Enc;

Object Hierarchy

  GObject
   +----GstObject
         +----GstElement
               +----GstBaseVideoCodec
                     +----GstBaseVideoEncoder
                           +----GstVP8Enc

Implemented Interfaces

GstVP8Enc implements GstTagSetter and GstPreset.

Properties

  "bitrate"                  gint                  : Read / Write
  "error-resilient"          gboolean              : Read / Write
  "max-keyframe-distance"    gint                  : Read / Write
  "max-latency"              gint                  : Read / Write
  "mode"                     GstVP8EncMode         : Read / Write
  "quality"                  gdouble               : Read / Write
  "speed"                    gint                  : Read / Write
  "threads"                  gint                  : Read / Write
  "multipass-cache-file"     gchar*                : Read / Write
  "multipass-mode"           GstVP8EncMultipassMode  : Read / Write
  "auto-alt-ref-frames"      gboolean              : Read / Write

Description

This element encodes raw video into a VP8 stream. VP8 is a royalty-free video codec maintained by Google . It's the successor of On2 VP3, which was the base of the Theora video codec.

To control the quality of the encoding, the "bitrate" and "quality" properties can be used. These two properties are mutualy exclusive. Setting the bitrate property will produce a constant bitrate (CBR) stream while setting the quality property will produce a variable bitrate (VBR) stream.

Example pipeline

gst-launch -v videotestsrc num-buffers=1000 ! vp8enc ! webmmux ! filesink location=videotestsrc.webm
This example pipeline will encode a test video source to VP8 muxed in an WebM container.

Synopsis

Element Information

plugin

vp8

author

David Schleef <ds@entropywave.com>

class

Codec/Encoder/Video

Element Pads

name

sink

direction

sink

presence

always

details

video/x-raw-yuv, format=(fourcc)I420, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

name

src

direction

source

presence

always

details

video/x-vp8

Details

struct GstVP8Enc

struct GstVP8Enc;

Property Details

The "bitrate" property

  "bitrate"                  gint                  : Read / Write

Bit rate.

Allowed values: [0,1000000000]

Default value: 0


The "error-resilient" property

  "error-resilient"          gboolean              : Read / Write

Encode streams that are error resilient.

Default value: FALSE


The "max-keyframe-distance" property

  "max-keyframe-distance"    gint                  : Read / Write

Maximum distance between key frames.

Allowed values: [0,9999]

Default value: 60


The "max-latency" property

  "max-latency"              gint                  : Read / Write

Number of frames in encoder queue.

Allowed values: [0,25]

Default value: 10


The "mode" property

  "mode"                     GstVP8EncMode         : Read / Write

Mode.

Default value: Variable Bit Rate (VBR) mode


The "quality" property

  "quality"                  gdouble               : Read / Write

Quality.

Allowed values: [0,10]

Default value: 5


The "speed" property

  "speed"                    gint                  : Read / Write

Speed.

Allowed values: [0,2]

Default value: 0


The "threads" property

  "threads"                  gint                  : Read / Write

Threads.

Allowed values: [1,64]

Default value: 1


The "multipass-cache-file" property

  "multipass-cache-file"     gchar*                : Read / Write

Multipass cache file.

Default value: NULL


The "multipass-mode" property

  "multipass-mode"           GstVP8EncMultipassMode  : Read / Write

Multipass encode mode.

Default value: One pass encoding (default)


The "auto-alt-ref-frames" property

  "auto-alt-ref-frames"      gboolean              : Read / Write

Automatically create alternative reference frames.

Default value: FALSE

See Also

vp8dec, webmmux, oggmux