blob: 541fe32b68fb9f541420b2dcf50652f872fe82b1 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>x264enc: GStreamer Ugly Plugins 1.0 Plugins Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Ugly Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-ugly Elements">
<link rel="prev" href="gst-plugins-ugly-plugins-siddec.html" title="siddec">
<link rel="next" href="gst-plugins-ugly-plugins-xingmux.html" title="xingmux">
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#gst-plugins-ugly-plugins-x264enc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
<a href="#gst-plugins-ugly-plugins-x264enc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
<a href="#gst-plugins-ugly-plugins-x264enc.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
<a href="#gst-plugins-ugly-plugins-x264enc.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gst-plugins-ugly-plugins-siddec.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gst-plugins-ugly-plugins-xingmux.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gst-plugins-ugly-plugins-x264enc"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gst-plugins-ugly-plugins-x264enc.top_of_page"></a>x264enc</span></h2>
<p>x264enc</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-x264enc.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><span class="type">GstX264EncAnalyse</span></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--analyse" title="The “analyse” property">analyse</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--aud" title="The “aud” property">aud</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--b-adapt" title="The “b-adapt” property">b-adapt</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--b-pyramid" title="The “b-pyramid” property">b-pyramid</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--bframes" title="The “bframes” property">bframes</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--bitrate" title="The “bitrate” property">bitrate</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--byte-stream" title="The “byte-stream” property">byte-stream</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--cabac" title="The “cabac” property">cabac</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--dct8x8" title="The “dct8x8” property">dct8x8</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--interlaced" title="The “interlaced” property">interlaced</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--ip-factor" title="The “ip-factor” property">ip-factor</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--key-int-max" title="The “key-int-max” property">key-int-max</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">GstX264EncMe</span></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--me" title="The “me” property">me</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--multipass-cache-file" title="The “multipass-cache-file” property">multipass-cache-file</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--noise-reduction" title="The “noise-reduction” property">noise-reduction</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">GstX264EncPass</span></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--pass" title="The “pass” property">pass</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--pb-factor" title="The “pb-factor” property">pb-factor</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--qp-max" title="The “qp-max” property">qp-max</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--qp-min" title="The “qp-min” property">qp-min</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--qp-step" title="The “qp-step” property">qp-step</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--quantizer" title="The “quantizer” property">quantizer</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--ref" title="The “ref” property">ref</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--sps-id" title="The “sps-id” property">sps-id</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--stats-file" title="The “stats-file” property">stats-file</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--subme" title="The “subme” property">subme</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--threads" title="The “threads” property">threads</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--trellis" title="The “trellis” property">trellis</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--vbv-buf-capacity" title="The “vbv-buf-capacity” property">vbv-buf-capacity</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--weightb" title="The “weightb” property">weightb</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--intra-refresh" title="The “intra-refresh” property">intra-refresh</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--mb-tree" title="The “mb-tree” property">mb-tree</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--rc-lookahead" title="The “rc-lookahead” property">rc-lookahead</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--sliced-threads" title="The “sliced-threads” property">sliced-threads</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--sync-lookahead" title="The “sync-lookahead” property">sync-lookahead</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--option-string" title="The “option-string” property">option-string</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">GstX264EncProfile</span></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--profile" title="The “profile” property">profile</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">GstX264EncPsyTune</span></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--psy-tune" title="The “psy-tune” property">psy-tune</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">GstX264EncPreset</span></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--speed-preset" title="The “speed-preset” property">speed-preset</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">GstX264EncTune</span></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--tune" title="The “tune” property">tune</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><span class="type">GstX264EncFramePacking</span></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--frame-packing" title="The “frame-packing” property">frame-packing</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--insert-vui" title="The “insert-vui” property">insert-vui</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<a name="GstX264Enc"></a><div class="refsect1">
<a name="gst-plugins-ugly-plugins-x264enc.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc-struct" title="struct GstX264Enc">GstX264Enc</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-x264enc.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
<span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
<span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstObject.html#GstObject-struct">GstObject</a>
<span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstElement.html#GstElement-struct">GstElement</a>
<span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0/gst-plugins-base-libs-GstVideoEncoder.html#GstVideoEncoder">GstVideoEncoder</a>
<span class="lineart">╰──</span> GstX264Enc
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-x264enc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GstX264Enc implements
<a href="/usr/share/gtk-doc/html/gstreamer-1.0/GstPreset.html#GstPreset-struct">GstPreset</a>.</p>
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-x264enc.description"></a><h2>Description</h2>
<p>This element encodes raw video into H264 compressed data,
also otherwise known as MPEG-4 AVC (Advanced Video Codec).</p>
<p>The <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--pass" title="The “pass” property"><span class="type">“pass”</span></a> property controls the type of encoding. In case of Constant
Bitrate Encoding (actually ABR), the <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--bitrate" title="The “bitrate” property"><span class="type">“bitrate”</span></a> will determine the quality
of the encoding. This will similarly be the case if this target bitrate
is to obtained in multiple (2 or 3) pass encoding.
Alternatively, one may choose to perform Constant Quantizer or Quality encoding,
in which case the <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--quantizer" title="The “quantizer” property"><span class="type">“quantizer”</span></a> property controls much of the outcome, in that case <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--bitrate" title="The “bitrate” property"><span class="type">“bitrate”</span></a> is the maximum bitrate.</p>
<p>The H264 profile that is eventually used depends on a few settings.
If <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--dct8x8" title="The “dct8x8” property"><span class="type">“dct8x8”</span></a> is enabled, then High profile is used.
Otherwise, if <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--cabac" title="The “cabac” property"><span class="type">“cabac”</span></a> entropy coding is enabled or <a class="link" href="gst-plugins-ugly-plugins-x264enc.html#GstX264Enc--bframes" title="The “bframes” property"><span class="type">“bframes”</span></a>
are allowed, then Main Profile is in effect, and otherwise Baseline profile
applies. The high profile is imposed by default,
which is fine for most software players and settings,
but in some cases (e.g. hardware platforms) a more restricted profile/level
may be necessary. The recommended way to set a profile is to set it in the
downstream caps.</p>
<p>If a preset/tuning are specified then these will define the default values and
the property defaults will be ignored. After this the option-string property is
applied, followed by the user-set properties, fast first pass restrictions and
finally the profile restrictions.</p>
<div class="note">Some settings, including the default settings, may lead to quite
some latency (i.e. frame buffering) in the encoder. This may cause problems
with pipeline stalling in non-trivial pipelines, because the encoder latency
is often considerably higher than the default size of a simple queue
element. Such problems are caused by one of the queues in the other
non-x264enc streams/branches filling up and blocking upstream. They can
be fixed by relaxing the default time/size/buffer limits on the queue
elements in the non-x264 branches, or using a (single) multiqueue element
for all branches. Also see the last example below. You can also work around
this problem by setting the tune=zerolatency property, but this will affect
overall encoding quality so may not be appropriate for your use case.
</div>
<div class="refsect2">
<a name="id-1.2.13.8.7"></a><h3>Example pipeline</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> x264enc qp<span class="gtkdoc opt">-</span>min<span class="gtkdoc opt">=</span><span class="number">18</span> <span class="gtkdoc opt">!</span> \
avimux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>avi</pre></td>
</tr>
</tbody>
</table>
</div>
This example pipeline will encode a test video source to H264 muxed in an
AVI container, while ensuring a sane minimum quantization factor to avoid
some (excessive) waste. You should ideally never put H264 into an AVI
container (or really anything else, for that matter) - use Matroska or
MP4/QuickTime or MPEG-TS instead.
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> x264enc pass<span class="gtkdoc opt">=</span>quant <span class="gtkdoc opt">!</span> \
matroskamux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>mkv</pre></td>
</tr>
</tbody>
</table>
</div>
This example pipeline will encode a test video source to H264 using fixed
quantization, and muxes it in a Matroska container.
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> x264enc pass<span class="gtkdoc opt">=</span><span class="number">5</span> quantizer<span class="gtkdoc opt">=</span><span class="number">25</span> speed<span class="gtkdoc opt">-</span>preset<span class="gtkdoc opt">=</span><span class="number">6</span> <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>h264<span class="gtkdoc opt">,</span> profile<span class="gtkdoc opt">=</span>baseline <span class="gtkdoc opt">!</span> \
qtmux <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>videotestsrc<span class="gtkdoc opt">.</span>mov</pre></td>
</tr>
</tbody>
</table>
</div>
This example pipeline will encode a test video source to H264 using
constant quality at around Q25 using the 'medium' speed/quality preset and
restricting the options used so that the output is H.264 Baseline Profile
compliant and finally multiplexing the output in Quicktime mov format.
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="listing_lines" align="right"><pre>1
2</pre></td>
<td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v videotestsrc num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">1000</span> <span class="gtkdoc opt">!</span> tee name<span class="gtkdoc opt">=</span>t <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink \
t<span class="gtkdoc opt">. !</span> queue <span class="gtkdoc opt">!</span> x264enc rc<span class="gtkdoc opt">-</span>lookahead<span class="gtkdoc opt">=</span><span class="number">5</span> <span class="gtkdoc opt">!</span> fakesink</pre></td>
</tr>
</tbody>
</table>
</div>
This example pipeline will encode a test video source to H264 while
displaying the input material at the same time. As mentioned above,
specific settings are needed in this case to avoid pipeline stalling.
Depending on goals and context, other approaches are possible, e.g.
tune=zerolatency might be configured, or queue sizes increased.
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
<a name="id-1.2.13.8.8.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
<td>
<a class="link" href="gst-plugins-ugly-plugins-plugin-x264.html#plugin-x264">x264</a>
</td>
</tr>
<tr>
<td><p><span class="term">author</span></p></td>
<td>Josef Zlomek &lt;josef.zlomek@itonis.tv&gt;, Mark Nauwelaerts &lt;mnauw@users.sf.net&gt;</td>
</tr>
<tr>
<td><p><span class="term">class</span></p></td>
<td>Codec/Encoder/Video</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="id-1.2.13.8.8.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
<td>sink</td>
</tr>
<tr>
<td><p><span class="term">direction</span></p></td>
<td>sink</td>
</tr>
<tr>
<td><p><span class="term">presence</span></p></td>
<td>always</td>
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
<td>video/x-raw, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ], format=(string){ Y444, Y42B, I420, YV12, NV12 }</td>
</tr>
</tbody>
</table></div>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
<td>src</td>
</tr>
<tr>
<td><p><span class="term">direction</span></p></td>
<td>source</td>
</tr>
<tr>
<td><p><span class="term">presence</span></p></td>
<td>always</td>
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
<td>video/x-h264, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], stream-format=(string){ avc, byte-stream }, alignment=(string)au, profile=(string){ high-4:4:4, high-4:2:2, high-10, high, main, baseline, constrained-baseline, high-4:4:4-intra, high-4:2:2-intra, high-10-intra }</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-x264enc.functions_details"></a><h2>Functions</h2>
<p></p>
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-x264enc.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GstX264Enc-struct"></a><h3>struct GstX264Enc</h3>
<pre class="programlisting">struct GstX264Enc;</pre>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-x264enc.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GstX264Enc--analyse"></a><h3>The <code class="literal">“analyse”</code> property</h3>
<pre class="programlisting"> “analyse” <span class="type">GstX264EncAnalyse</span></pre>
<p>Partitions to consider.</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--aud"></a><h3>The <code class="literal">“aud”</code> property</h3>
<pre class="programlisting"> “aud” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Use AU (Access Unit) delimiter.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--b-adapt"></a><h3>The <code class="literal">“b-adapt”</code> property</h3>
<pre class="programlisting"> “b-adapt” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Automatically decide how many B-frames to use.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--b-pyramid"></a><h3>The <code class="literal">“b-pyramid”</code> property</h3>
<pre class="programlisting"> “b-pyramid” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Keep some B-frames as references.</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--bframes"></a><h3>The <code class="literal">“bframes”</code> property</h3>
<pre class="programlisting"> “bframes” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Number of B-frames between I and P.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= 16</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--bitrate"></a><h3>The <code class="literal">“bitrate”</code> property</h3>
<pre class="programlisting"> “bitrate” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Bitrate in kbit/sec.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: [1,2048000]</p>
<p>Default value: 2048</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--byte-stream"></a><h3>The <code class="literal">“byte-stream”</code> property</h3>
<pre class="programlisting"> “byte-stream” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Generate byte stream format of NALU.</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--cabac"></a><h3>The <code class="literal">“cabac”</code> property</h3>
<pre class="programlisting"> “cabac” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Enable CABAC entropy coding.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--dct8x8"></a><h3>The <code class="literal">“dct8x8”</code> property</h3>
<pre class="programlisting"> “dct8x8” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Adaptive spatial transform size.</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--interlaced"></a><h3>The <code class="literal">“interlaced”</code> property</h3>
<pre class="programlisting"> “interlaced” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Interlaced material.</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--ip-factor"></a><h3>The <code class="literal">“ip-factor”</code> property</h3>
<pre class="programlisting"> “ip-factor” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a></pre>
<p>Quantizer factor between I- and P-frames.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: [0,2]</p>
<p>Default value: 1.4</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--key-int-max"></a><h3>The <code class="literal">“key-int-max”</code> property</h3>
<pre class="programlisting"> “key-int-max” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Maximal distance between two key-frames (0 for automatic).</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= G_MAXINT</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--me"></a><h3>The <code class="literal">“me”</code> property</h3>
<pre class="programlisting"> “me” <span class="type">GstX264EncMe</span></pre>
<p>Integer pixel motion estimation method.</p>
<p>Flags: Read / Write</p>
<p>Default value: hex</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--multipass-cache-file"></a><h3>The <code class="literal">“multipass-cache-file”</code> property</h3>
<pre class="programlisting"> “multipass-cache-file” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>Filename for multipass cache file.</p>
<p>Flags: Read / Write</p>
<p>Default value: "x264.log"</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--noise-reduction"></a><h3>The <code class="literal">“noise-reduction”</code> property</h3>
<pre class="programlisting"> “noise-reduction” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Noise reduction strength.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= 100000</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--pass"></a><h3>The <code class="literal">“pass”</code> property</h3>
<pre class="programlisting"> “pass” <span class="type">GstX264EncPass</span></pre>
<p>Encoding pass/type.</p>
<p>Flags: Read / Write</p>
<p>Default value: Constant Bitrate Encoding</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--pb-factor"></a><h3>The <code class="literal">“pb-factor”</code> property</h3>
<pre class="programlisting"> “pb-factor” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a></pre>
<p>Quantizer factor between P- and B-frames.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: [0,2]</p>
<p>Default value: 1.3</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--qp-max"></a><h3>The <code class="literal">“qp-max”</code> property</h3>
<pre class="programlisting"> “qp-max” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Maximum quantizer.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= 51</p>
<p>Default value: 51</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--qp-min"></a><h3>The <code class="literal">“qp-min”</code> property</h3>
<pre class="programlisting"> “qp-min” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Minimum quantizer.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= 51</p>
<p>Default value: 10</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--qp-step"></a><h3>The <code class="literal">“qp-step”</code> property</h3>
<pre class="programlisting"> “qp-step” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Maximum quantizer difference between frames.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= 50</p>
<p>Default value: 4</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--quantizer"></a><h3>The <code class="literal">“quantizer”</code> property</h3>
<pre class="programlisting"> “quantizer” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Constant quantizer or quality to apply.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= 50</p>
<p>Default value: 21</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--ref"></a><h3>The <code class="literal">“ref”</code> property</h3>
<pre class="programlisting"> “ref” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Number of reference frames.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: [1,12]</p>
<p>Default value: 1</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--sps-id"></a><h3>The <code class="literal">“sps-id”</code> property</h3>
<pre class="programlisting"> “sps-id” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>SPS and PPS ID number.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= 31</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--stats-file"></a><h3>The <code class="literal">“stats-file”</code> property</h3>
<pre class="programlisting"> “stats-file” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>Filename for multipass statistics (deprecated, use multipass-cache-file).</p>
<p>Flags: Read / Write</p>
<p>Default value: "x264.log"</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--subme"></a><h3>The <code class="literal">“subme”</code> property</h3>
<pre class="programlisting"> “subme” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Subpixel motion estimation and partition decision quality: 1=fast, 10=best.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: [1,10]</p>
<p>Default value: 1</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--threads"></a><h3>The <code class="literal">“threads”</code> property</h3>
<pre class="programlisting"> “threads” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Number of threads used by the codec (0 for automatic).</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= G_MAXINT</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--trellis"></a><h3>The <code class="literal">“trellis”</code> property</h3>
<pre class="programlisting"> “trellis” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Enable trellis searched quantization.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--vbv-buf-capacity"></a><h3>The <code class="literal">“vbv-buf-capacity”</code> property</h3>
<pre class="programlisting"> “vbv-buf-capacity” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Size of the VBV buffer in milliseconds.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: &lt;= 10000</p>
<p>Default value: 600</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--weightb"></a><h3>The <code class="literal">“weightb”</code> property</h3>
<pre class="programlisting"> “weightb” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Weighted prediction for B-frames.</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--intra-refresh"></a><h3>The <code class="literal">“intra-refresh”</code> property</h3>
<pre class="programlisting"> “intra-refresh” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Use Periodic Intra Refresh instead of IDR frames.</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--mb-tree"></a><h3>The <code class="literal">“mb-tree”</code> property</h3>
<pre class="programlisting"> “mb-tree” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Macroblock-Tree ratecontrol.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--rc-lookahead"></a><h3>The <code class="literal">“rc-lookahead”</code> property</h3>
<pre class="programlisting"> “rc-lookahead” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
<p>Number of frames for frametype lookahead.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: [0,250]</p>
<p>Default value: 40</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--sliced-threads"></a><h3>The <code class="literal">“sliced-threads”</code> property</h3>
<pre class="programlisting"> “sliced-threads” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Low latency but lower efficiency threading.</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--sync-lookahead"></a><h3>The <code class="literal">“sync-lookahead”</code> property</h3>
<pre class="programlisting"> “sync-lookahead” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
<p>Number of buffer frames for threaded lookahead (-1 for automatic).</p>
<p>Flags: Read / Write</p>
<p>Allowed values: [G_MAXULONG,250]</p>
<p>Default value: -1</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--option-string"></a><h3>The <code class="literal">“option-string”</code> property</h3>
<pre class="programlisting"> “option-string” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>String of x264 options (overridden by element properties) in the format "key1=value1:key2=value2".</p>
<p>Flags: Read / Write</p>
<p>Default value: ""</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--profile"></a><h3>The <code class="literal">“profile”</code> property</h3>
<pre class="programlisting"> “profile” <span class="type">GstX264EncProfile</span></pre>
<p>Apply restrictions to meet H.264 Profile constraints. This will override other properties if necessary. This will only be used if downstream elements do not specify a profile in their caps (DEPRECATED).</p>
<p>Flags: Read / Write</p>
<p>Default value: main</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--psy-tune"></a><h3>The <code class="literal">“psy-tune”</code> property</h3>
<pre class="programlisting"> “psy-tune” <span class="type">GstX264EncPsyTune</span></pre>
<p>Preset name for psychovisual tuning options.</p>
<p>Flags: Read / Write</p>
<p>Default value: No tuning</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--speed-preset"></a><h3>The <code class="literal">“speed-preset”</code> property</h3>
<pre class="programlisting"> “speed-preset” <span class="type">GstX264EncPreset</span></pre>
<p>Preset name for speed/quality tradeoff options (can affect decode compatibility - impose restrictions separately for your target decoder).</p>
<p>Flags: Read / Write</p>
<p>Default value: medium</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--tune"></a><h3>The <code class="literal">“tune”</code> property</h3>
<pre class="programlisting"> “tune” <span class="type">GstX264EncTune</span></pre>
<p>Preset name for non-psychovisual tuning options.</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--frame-packing"></a><h3>The <code class="literal">“frame-packing”</code> property</h3>
<pre class="programlisting"> “frame-packing” <span class="type">GstX264EncFramePacking</span></pre>
<p>Set frame packing mode for Stereoscopic content.</p>
<p>Flags: Read / Write</p>
<p>Default value: Automatic (use incoming video information)</p>
</div>
<hr>
<div class="refsect2">
<a name="GstX264Enc--insert-vui"></a><h3>The <code class="literal">“insert-vui”</code> property</h3>
<pre class="programlisting"> “insert-vui” <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Insert VUI NAL in stream.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-ugly-plugins-x264enc.see-also"></a><h2>See Also</h2>
<p>faac</p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28</div>
</body>
</html>