vp9enc

This element encodes raw video into a VP9 stream. VP9 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 target-bitrate, min-quantizer, max-quantizer or cq-level properties can be used. Which one is used depends on the mode selected by the end-usage property. See Encoder Parameters for explanation, examples for useful encoding parameters and more details on the encoding parameters.

Example pipeline

 gst-launch-1.0 -v videotestsrc num-buffers=1000 ! vp9enc ! webmmux ! filesink location=videotestsrc.webm

This example pipeline will encode a test video source to VP9 muxed in an WebM container.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstVideoEncoder
                    ╰──GstVPXEnc
                        ╰──vp9enc

Implemented interfaces

Factory details

Authors: – David Schleef , Sebastian Dröge

Classification:Codec/Encoder/Video

Rank – primary

Plugin – vpx

Package – GStreamer Good Plug-ins

Pad Templates

sink

video/x-raw:
         format: { I420, YV12, Y444, I420_10LE, I420_12LE, I422_10LE, I422_12LE, Y444_10LE, Y444_12LE }
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]

Presencealways

Directionsink

Object typeGstPad


src

video/x-vp9:
        profile: { (string)0, (string)1, (string)2, (string)3 }

Presencealways

Directionsrc

Object typeGstPad


Properties

aq-mode

“aq-mode” Vpxaq *

Adaptive Quantization Mode

Flags : Read / Write

Default value : off (0)


frame-parallel-decoding

“frame-parallel-decoding” gboolean

Whether encoded bitstream should allow parallel processing of video frames in the decoder

Flags : Read / Write

Default value : true


row-mt

“row-mt” gboolean

Whether each row should be encoded using multiple threads

Flags : Read / Write

Default value : false


tile-columns

“tile-columns” gint

Number of tile columns, log2

Flags : Read / Write

Default value : 6


tile-rows

“tile-rows” gint

Number of tile rows, log2

Flags : Read / Write

Default value : 0


Named constants

Vpxaq

VPX Adaptive Quantization modes.

Members

off (0) – GST_VPX_AQ_OFF
variance (1) – GST_VPX_AQ_VARIANCE
complexity (2) – GST_VPX_AQ_COMPLEXITY
cyclic-refresh (3) – GST_VPX_AQ_CYCLIC_REFRESH
equator360 (4) – GST_VPX_AQ_EQUATOR360
perceptual (5) – GST_VPX_AQ_PERCEPTUAL
psnr (6) – GST_VPX_AQ_PSNR
lookahead (7) – GST_VPX_AQ_LOOKAHEAD

The results of the search are