theoraenc

theoraenc

Properties

gint bitrate Read / Write
GstTheoraEncBorderMode border Read / Write
gboolean center Read / Write
gboolean keyframe-auto Read / Write
gint keyframe-force Read / Write
gint keyframe-freq Read / Write
gint keyframe-mindistance Read / Write
gint keyframe-threshold Read / Write
gint noise-sensitivity Read / Write
gint quality Read / Write
gboolean quick Read / Write
gint sharpness Read / Write
gint speed-level Read / Write / Construct
gboolean cap-overflow Read / Write
gboolean cap-underflow Read / Write
gboolean drop-frames Read / Write
gint rate-buffer Read / Write
gboolean vp3-compatible Read / Write
gchar * multipass-cache-file Read / Write
GstTheoraEncMultipassMode multipass-mode Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GstObject
        ╰── GstElement
            ╰── GstTheoraEnc

Implemented Interfaces

GstTheoraEnc implements GstPreset.

Description

This element encodes raw video into a Theora stream.

Theora is a royalty-free

video codec maintained by the Xiph.org Foundation, based on the VP3 codec.

The theora codec internally only supports encoding of images that are a multiple of 16 pixels in both X and Y direction. It is however perfectly possible to encode images with other dimensions because an arbitrary rectangular cropping region can be set up. This element will automatically set up a correct cropping region if the dimensions are not multiples of 16 pixels.

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

1
gst-launch -v videotestsrc num-buffers=1000 ! theoraenc ! oggmux ! filesink location=videotestsrc.ogg
This example pipeline will encode a test video source to theora muxed in an ogg container. Refer to the theoradec documentation to decode the create stream.

Last reviewed on 2006-03-01 (0.10.4)

Functions

Types and Values

struct GstTheoraEnc

struct GstTheoraEnc;

Opaque data structure.


enum GstTheoraEncBorderMode

Border color to add when sizes not multiple of 16.

Members

BORDER_NONE

no border

 

BORDER_BLACK

black border

 

BORDER_MIRROR

Mirror image in border

 

Property Details

The “bitrate” property

  “bitrate”                  gint

Compressed video bitrate (kbps).

Flags: Read / Write

Allowed values: [0,16777215]

Default value: 0


The “border” property

  “border”                   GstTheoraEncBorderMode

ignored and kept for API compat only.

Flags: Read / Write

Default value: Black Border


The “center” property

  “center”                   gboolean

ignored and kept for API compat only.

Flags: Read / Write

Default value: TRUE


The “keyframe-auto” property

  “keyframe-auto”            gboolean

Automatic keyframe detection.

Flags: Read / Write

Default value: TRUE


The “keyframe-force” property

  “keyframe-force”           gint

Force keyframe every N frames.

Flags: Read / Write

Allowed values: [1,32768]

Default value: 64


The “keyframe-freq” property

  “keyframe-freq”            gint

Keyframe frequency.

Flags: Read / Write

Allowed values: [1,32768]

Default value: 64


The “keyframe-mindistance” property

  “keyframe-mindistance”     gint

ignored and kept for API compat only.

Flags: Read / Write

Allowed values: [1,32768]

Default value: 8


The “keyframe-threshold” property

  “keyframe-threshold”       gint

ignored and kept for API compat only.

Flags: Read / Write

Allowed values: [0,32768]

Default value: 80


The “noise-sensitivity” property

  “noise-sensitivity”        gint

ignored and kept for API compat only.

Flags: Read / Write

Allowed values: [0,32768]

Default value: 1


The “quality” property

  “quality”                  gint

Video quality.

Flags: Read / Write

Allowed values: [0,63]

Default value: 48


The “quick” property

  “quick”                    gboolean

ignored and kept for API compat only.

Flags: Read / Write

Default value: TRUE


The “sharpness” property

  “sharpness”                gint

ignored and kept for API compat only.

Flags: Read / Write

Allowed values: [0,2]

Default value: 0


The “speed-level” property

  “speed-level”              gint

Controls the amount of analysis performed when encoding. Higher values trade compression quality for speed. This property requires libtheora version >= 1.0, and the maximum value may vary based on encoder version.

Flags: Read / Write / Construct

Allowed values: [0,2]

Default value: 1


The “cap-overflow” property

  “cap-overflow”             gboolean

Enable capping of bit reservoir overflows.

Flags: Read / Write

Default value: TRUE


The “cap-underflow” property

  “cap-underflow”            gboolean

Enable capping of bit reservoir underflows.

Flags: Read / Write

Default value: FALSE


The “drop-frames” property

  “drop-frames”              gboolean

Allow or disallow frame dropping.

Flags: Read / Write

Default value: TRUE


The “rate-buffer” property

  “rate-buffer”              gint

Sets the size of the rate control buffer, in units of frames. The default value of 0 instructs the encoder to automatically select an appropriate value.

Flags: Read / Write

Allowed values: [0,1000]

Default value: 0


The “vp3-compatible” property

  “vp3-compatible”           gboolean

Disables non-VP3 compatible features.

Flags: Read / Write

Default value: FALSE


The “multipass-cache-file” property

  “multipass-cache-file”     gchar *

Multipass cache file.

Flags: Read / Write

Default value: NULL


The “multipass-mode” property

  “multipass-mode”           GstTheoraEncMultipassMode

Single pass or first/second pass.

Flags: Read / Write

Default value: Single pass

See Also

theoradec, oggmux