mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-10-02 08:42:32 +00:00
docs: Enhance GstEncodingProfile and GstEncodingTarget doc
This commit is contained in:
parent
15cb86435d
commit
1a2fe0e6e4
2 changed files with 67 additions and 65 deletions
|
@ -43,11 +43,11 @@
|
||||||
* Encoding profiles can be created at runtime by the application or loaded
|
* Encoding profiles can be created at runtime by the application or loaded
|
||||||
* from (and saved to) file using the #GstEncodingTarget API.
|
* from (and saved to) file using the #GstEncodingTarget API.
|
||||||
*
|
*
|
||||||
* # Defining a GstEncodingProfile as a string
|
* ## Defining a GstEncodingProfile as a string
|
||||||
*
|
*
|
||||||
* ## Serialized encoding profile formats
|
* ### Serialized encoding profile formats
|
||||||
*
|
*
|
||||||
* ## Using encoders and muxer element factory name:
|
* #### Using encoders and muxer element factory name:
|
||||||
*
|
*
|
||||||
* |[
|
* |[
|
||||||
* muxer_factory_name:video_encoder_factory_name:audio_encoder_factory_name
|
* muxer_factory_name:video_encoder_factory_name:audio_encoder_factory_name
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
* webmmux:vp8enc:vorbisenc
|
* webmmux:vp8enc:vorbisenc
|
||||||
* ]|
|
* ]|
|
||||||
*
|
*
|
||||||
* ## Define the encoding profile in a generic way using caps:
|
* #### Define the encoding profile in a generic way using caps:
|
||||||
*
|
*
|
||||||
* |[
|
* |[
|
||||||
* muxer_source_caps:video_encoder_source_caps:audio_encoder_source_caps
|
* muxer_source_caps:video_encoder_source_caps:audio_encoder_source_caps
|
||||||
|
@ -78,7 +78,7 @@
|
||||||
* It is possible to mix caps and element type names so you can specify a specific
|
* It is possible to mix caps and element type names so you can specify a specific
|
||||||
* video encoder while using caps for other encoders/muxer.
|
* video encoder while using caps for other encoders/muxer.
|
||||||
*
|
*
|
||||||
* ## Advanced encoding format serialization features:
|
* ### Advanced encoding format serialization features:
|
||||||
*
|
*
|
||||||
* You can also set the preset name of the encoding profile using the
|
* You can also set the preset name of the encoding profile using the
|
||||||
* caps+preset_name syntax as in:
|
* caps+preset_name syntax as in:
|
||||||
|
@ -160,7 +160,9 @@
|
||||||
* /path/to/target.gep:profilename
|
* /path/to/target.gep:profilename
|
||||||
* ]|
|
* ]|
|
||||||
*
|
*
|
||||||
* # Example: Creating a profile
|
* ## Examples
|
||||||
|
*
|
||||||
|
* ### Creating a profile
|
||||||
*
|
*
|
||||||
* |[<!-- language="c" -->
|
* |[<!-- language="c" -->
|
||||||
* #include <gst/pbutils/encoding-profile.h>
|
* #include <gst/pbutils/encoding-profile.h>
|
||||||
|
@ -192,7 +194,7 @@
|
||||||
*
|
*
|
||||||
* ]|
|
* ]|
|
||||||
*
|
*
|
||||||
* # Example: Using an encoder preset with a profile
|
* ### Example: Using an encoder preset with a profile
|
||||||
*
|
*
|
||||||
* |[ <!-- language="c" -->
|
* |[ <!-- language="c" -->
|
||||||
* #include <gst/pbutils/encoding-profile.h>
|
* #include <gst/pbutils/encoding-profile.h>
|
||||||
|
@ -234,7 +236,7 @@
|
||||||
*
|
*
|
||||||
* ]|
|
* ]|
|
||||||
*
|
*
|
||||||
* # Example: Listing categories, targets and profiles
|
* ### Listing categories, targets and profiles
|
||||||
*
|
*
|
||||||
* |[ <!-- language="C" -->
|
* |[ <!-- language="C" -->
|
||||||
* #include <gst/pbutils/encoding-profile.h>
|
* #include <gst/pbutils/encoding-profile.h>
|
||||||
|
@ -265,63 +267,6 @@
|
||||||
*
|
*
|
||||||
* ...
|
* ...
|
||||||
* ]|
|
* ]|
|
||||||
*
|
|
||||||
* # Encoding Target
|
|
||||||
*
|
|
||||||
* On top of the notion of profiles, we implement the notion of EncodingTarget.
|
|
||||||
* Encoding Targets are basically a higher level of abstraction to define formats
|
|
||||||
* for specific target types. Those can define several GstEncodingProfiles with
|
|
||||||
* different names, for example one for transcoding in full HD, another one for
|
|
||||||
* low res, etc.. which are defined in the same encoding target.
|
|
||||||
*
|
|
||||||
* Basically if you wan to encode a stream to send it to, say, youtube you should
|
|
||||||
* have a Youtube encoding target defined in the "online-service" category.
|
|
||||||
*
|
|
||||||
* ## Encoding target serialization format
|
|
||||||
*
|
|
||||||
* Encoding targets are serialized in a KeyFile like files.
|
|
||||||
*
|
|
||||||
* |[
|
|
||||||
* [GStreamer Encoding Target]
|
|
||||||
* name : <name>
|
|
||||||
* category : <category>
|
|
||||||
* \description : <description> #translatable
|
|
||||||
*
|
|
||||||
* [profile-<profile1name>]
|
|
||||||
* name : <name>
|
|
||||||
* \description : <description> #optional
|
|
||||||
* format : <format>
|
|
||||||
* preset : <preset>
|
|
||||||
*
|
|
||||||
* [streamprofile-<id>]
|
|
||||||
* parent : <encodingprofile.name>[,<encodingprofile.name>..]
|
|
||||||
* \type : <type> # "audio", "video", "text"
|
|
||||||
* format : <format>
|
|
||||||
* preset : <preset>
|
|
||||||
* restriction : <restriction>
|
|
||||||
* presence : <presence>
|
|
||||||
* pass : <pass>
|
|
||||||
* variableframerate : <variableframerate>
|
|
||||||
* ]|
|
|
||||||
*
|
|
||||||
* # Location of encoding target files
|
|
||||||
*
|
|
||||||
* $GST_DATADIR/gstreamer-GST_API_VERSION/encoding-profile
|
|
||||||
* $HOME/gstreamer-GST_API_VERSION/encoding-profile
|
|
||||||
*
|
|
||||||
* There also is a GST_ENCODING_TARGET_PATH environment variable
|
|
||||||
* defining a list of folder containing encoding target files.
|
|
||||||
*
|
|
||||||
* ## Naming convention
|
|
||||||
*
|
|
||||||
* |[
|
|
||||||
* $(target.category)/$(target.name).gep
|
|
||||||
* ]|
|
|
||||||
*
|
|
||||||
* # Naming restrictions:
|
|
||||||
*
|
|
||||||
* * lowercase ASCII letter for the first character
|
|
||||||
* * Same for all other characters + numerics + hyphens
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
|
|
|
@ -17,6 +17,63 @@
|
||||||
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
/**
|
||||||
|
* SECTION: encoding-target
|
||||||
|
* On top of the notion of profiles, we implement the notion of EncodingTarget.
|
||||||
|
* Encoding Targets are basically a higher level of abstraction to define formats
|
||||||
|
* for specific target types. Those can define several GstEncodingProfiles with
|
||||||
|
* different names, for example one for transcoding in full HD, another one for
|
||||||
|
* low res, etc.. which are defined in the same encoding target.
|
||||||
|
*
|
||||||
|
* Basically if you wan to encode a stream to send it to, say, youtube you should
|
||||||
|
* have a Youtube encoding target defined in the "online-service" category.
|
||||||
|
*
|
||||||
|
* ## Encoding target serialization format
|
||||||
|
*
|
||||||
|
* Encoding targets are serialized in a KeyFile like files.
|
||||||
|
*
|
||||||
|
* |[
|
||||||
|
* [GStreamer Encoding Target]
|
||||||
|
* name : <name>
|
||||||
|
* category : <category>
|
||||||
|
* \description : <description> #translatable
|
||||||
|
*
|
||||||
|
* [profile-<profile1name>]
|
||||||
|
* name : <name>
|
||||||
|
* \description : <description> #optional
|
||||||
|
* format : <format>
|
||||||
|
* preset : <preset>
|
||||||
|
*
|
||||||
|
* [streamprofile-<id>]
|
||||||
|
* parent : <encodingprofile.name>[,<encodingprofile.name>..]
|
||||||
|
* \type : <type> # "audio", "video", "text"
|
||||||
|
* format : <format>
|
||||||
|
* preset : <preset>
|
||||||
|
* restriction : <restriction>
|
||||||
|
* presence : <presence>
|
||||||
|
* pass : <pass>
|
||||||
|
* variableframerate : <variableframerate>
|
||||||
|
* ]|
|
||||||
|
*
|
||||||
|
* ## Location of encoding target files
|
||||||
|
*
|
||||||
|
* $GST_DATADIR/gstreamer-GST_API_VERSION/encoding-profile
|
||||||
|
* $HOME/gstreamer-GST_API_VERSION/encoding-profile
|
||||||
|
*
|
||||||
|
* There also is a GST_ENCODING_TARGET_PATH environment variable
|
||||||
|
* defining a list of folder containing encoding target files.
|
||||||
|
*
|
||||||
|
* ## Naming convention
|
||||||
|
*
|
||||||
|
* |[
|
||||||
|
* $(target.category)/$(target.name).gep
|
||||||
|
* ]|
|
||||||
|
*
|
||||||
|
* ## Naming restrictions:
|
||||||
|
*
|
||||||
|
* * lowercase ASCII letter for the first character
|
||||||
|
* * Same for all other characters + numerics + hyphens
|
||||||
|
*/
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
#ifdef HAVE_CONFIG_H
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
Loading…
Reference in a new issue