x264enc

libx264-based H.264 video encoder

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstVideoEncoder
                    ╰──x264enc

Implemented interfaces

Factory details

Authors: – Josef Zlomek , Mark Nauwelaerts

Classification:Codec/Encoder/Video

Rank – primary

Plugin – x264

Package – GStreamer Ugly Plug-ins

Pad Templates

sink

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

Presencealways

Directionsink

Object typeGstPad


src

video/x-h264:
      framerate: [ 0/1, 2147483647/1 ]
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
  stream-format: { (string)avc, (string)byte-stream }
      alignment: au
        profile: { (string)high-4:4:4, (string)high-4:2:2, (string)high-10, (string)high, (string)main, (string)baseline, (string)constrained-baseline, (string)high-4:4:4-intra, (string)high-4:2:2-intra, (string)high-10-intra }

Presencealways

Directionsrc

Object typeGstPad


Properties

analyse

“analyse” GstX264EncAnalyse *

Partitions to consider

Flags : Read / Write

Default value : (none)


aud

“aud” gboolean

Use AU (Access Unit) delimiter

Flags : Read / Write

Default value : true


b-adapt

“b-adapt” gboolean

Automatically decide how many B-frames to use

Flags : Read / Write

Default value : true


b-pyramid

“b-pyramid” gboolean

Keep some B-frames as references

Flags : Read / Write

Default value : false


bframes

“bframes” guint

Number of B-frames between I and P

Flags : Read / Write

Default value : 0


bitrate

“bitrate” guint

Bitrate in kbit/sec

Flags : Read / Write

Default value : 2048


byte-stream

“byte-stream” gboolean

Generate byte stream format of NALU

Flags : Read / Write

Default value : false


cabac

“cabac” gboolean

Enable CABAC entropy coding

Flags : Read / Write

Default value : true


dct8x8

“dct8x8” gboolean

Adaptive spatial transform size

Flags : Read / Write

Default value : false


frame-packing

“frame-packing” GstX264EncFramePacking *

Set frame packing mode for Stereoscopic content

Flags : Read / Write

Default value : auto (-1)


insert-vui

“insert-vui” gboolean

Insert VUI NAL in stream

Flags : Read / Write

Default value : true


interlaced

“interlaced” gboolean

Interlaced material

Flags : Read / Write

Default value : false


intra-refresh

“intra-refresh” gboolean

Use Periodic Intra Refresh instead of IDR frames

Flags : Read / Write

Default value : false


ip-factor

“ip-factor” gfloat

Quantizer factor between I- and P-frames

Flags : Read / Write

Default value : 1.4


key-int-max

“key-int-max” guint

Maximal distance between two key-frames (0 for automatic)

Flags : Read / Write

Default value : 0


mb-tree

“mb-tree” gboolean

Macroblock-Tree ratecontrol

Flags : Read / Write

Default value : true


me

“me” GstX264EncMe *

Integer pixel motion estimation method

Flags : Read / Write

Default value : hex (1)


multipass-cache-file

“multipass-cache-file” gchararray

Filename for multipass cache file

Flags : Read / Write

Default value : x264.log


noise-reduction

“noise-reduction” guint

Noise reduction strength

Flags : Read / Write

Default value : 0


option-string

“option-string” gchararray

String of x264 options (overridden by element properties) in the format "key1=value1:key2=value2".

Flags : Read / Write


pass

“pass” GstX264EncPass *

Encoding pass/type

Flags : Read / Write

Default value : cbr (0)


pb-factor

“pb-factor” gfloat

Quantizer factor between P- and B-frames

Flags : Read / Write

Default value : 1.3


psy-tune

“psy-tune” GstX264EncPsyTune *

Preset name for psychovisual tuning options

Flags : Read / Write

Default value : none (0)


qp-max

“qp-max” guint

Maximum quantizer

Flags : Read / Write

Default value : 51


qp-min

“qp-min” guint

Minimum quantizer

Flags : Read / Write

Default value : 10


qp-step

“qp-step” guint

Maximum quantizer difference between frames

Flags : Read / Write

Default value : 4


quantizer

“quantizer” guint

Constant quantizer or quality to apply

Flags : Read / Write

Default value : 21


rc-lookahead

“rc-lookahead” gint

Number of frames for frametype lookahead

Flags : Read / Write

Default value : 40


ref

“ref” guint

Number of reference frames

Flags : Read / Write

Default value : 3


sliced-threads

“sliced-threads” gboolean

Low latency but lower efficiency threading

Flags : Read / Write

Default value : false


speed-preset

“speed-preset” GstX264EncPreset *

Preset name for speed/quality tradeoff options (can affect decode compatibility - impose restrictions separately for your target decoder)

Flags : Read / Write

Default value : medium (6)


sps-id

“sps-id” guint

SPS and PPS ID number

Flags : Read / Write

Default value : 0


subme

“subme” guint

Subpixel motion estimation and partition decision quality: 1=fast, 10=best

Flags : Read / Write

Default value : 1


sync-lookahead

“sync-lookahead” gint

Number of buffer frames for threaded lookahead (-1 for automatic)

Flags : Read / Write

Default value : -1


threads

“threads” guint

Number of threads used by the codec (0 for automatic)

Flags : Read / Write

Default value : 0


trellis

“trellis” gboolean

Enable trellis searched quantization

Flags : Read / Write

Default value : true


tune

“tune” GstX264EncTune *

Preset name for non-psychovisual tuning options

Flags : Read / Write

Default value : (none)


vbv-buf-capacity

“vbv-buf-capacity” guint

Size of the VBV buffer in milliseconds

Flags : Read / Write

Default value : 600


weightb

“weightb” gboolean

Weighted prediction for B-frames

Flags : Read / Write

Default value : false


Named constants

GstX264EncAnalyse

Members

i4x4 (0x00000001) – i4x4
i8x8 (0x00000002) – i8x8
p8x8 (0x00000010) – p8x8
p4x4 (0x00000020) – p4x4
b8x8 (0x00000100) – b8x8

GstX264EncFramePacking

Members

auto (-1) – Automatic (use incoming video information)
checkerboard (0) – checkerboard - Left and Right pixels alternate in a checkerboard pattern
column-interleaved (1) – column interleaved - Alternating pixel columns represent Left and Right views
row-interleaved (2) – row interleaved - Alternating pixel rows represent Left and Right views
side-by-side (3) – side by side - The left half of the frame contains the Left eye view, the right half the Right eye view
top-bottom (4) – top bottom - L is on top, R on bottom
frame-interleaved (5) – frame interleaved - Each frame contains either Left or Right view alternately

GstX264EncMe

Members

dia (0) – dia
hex (1) – hex
umh (2) – umh
esa (3) – esa
tesa (4) – tesa

GstX264EncPass

Members

cbr (0) – Constant Bitrate Encoding
quant (4) – Constant Quantizer
qual (5) – Constant Quality
pass1 (17) – VBR Encoding - Pass 1
pass2 (18) – VBR Encoding - Pass 2
pass3 (19) – VBR Encoding - Pass 3

GstX264EncPreset

Members

None (0) – No preset
ultrafast (1) – ultrafast
superfast (2) – superfast
veryfast (3) – veryfast
faster (4) – faster
fast (5) – fast
medium (6) – medium
slow (7) – slow
slower (8) – slower
veryslow (9) – veryslow
placebo (10) – placebo

GstX264EncPsyTune

Members

none (0) – No tuning
film (1) – Film
animation (2) – Animation
grain (3) – Grain
psnr (4) – PSNR
ssim (5) – SSIM

GstX264EncTune

Members

stillimage (0x00000001) – Still image
fastdecode (0x00000002) – Fast decode
zerolatency (0x00000004) – Zero latency

The results of the search are