2 short-description: The GStreamer Editing Services prototyping tool
7 **ges-launch-1.0** creates a multimedia [timeline](https://phabricator.freedesktop.org/w/gstreamer/gst-editing-services/ges-timeline/) and plays it back, or renders it to the specified format.
9 It can load a timeline from an existing project, or create one from the specified commands.
11 Updating an existing project can be done through thanks to the [GstValidate](http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-validate/html/) [scenarios](http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-validate/html/scenarios.html) using the `--set-scenario` argument, if ges-launch-1.0 has been compiled with GstValidate.
13 You can inspect action types with:
15 ges-launch-1.0 --inspect-action-type
17 By default, ges-launch-1.0 is in "playback-mode".
21 ges-launch-1.0' [-l <path>|--load=<path>] [-s <path>|--save=<path>]
22 [-p <path>|--sample-path=<path>] [-r <path>|--sample-path-recurse=<path>]
23 [-o <uri>|--outputuri=<uri>] [-f <profile>|--format=<profile>]
24 [-e <profile-name>|--encoding-profile=<profile-name>]
25 [-t <track-types>|--track-types=<track-types>]
26 [-v <videosink>|--videosink=<videosink>]
27 [-a <audiosink>---audiosink=<audiosink>]
28 [-m|--mute] [--inspect-action-type[=<action-type>]]
29 [--list-transitions] [--disable-mixing]
30 [-r <times>|--repeat=<times>] [--set-scenario=<scenario-name]
32 ## Define a timeline through the command line
34 The ges-launch-1.0 tool allows you to simply build a timeline through a dedicated set of commands:
38 Adds a clip to the timeline.
40 See documentation for the --track-types option to ges-launch-1.0, as it
41 will affect the result of this command.
45 ges-launch-1.0 +clip /path/to/media
47 This will simply play the sample from its beginning to its end.
49 ges-launch-1.0 +clip /path/to/media inpoint=4.0
51 Assuming "media" is a 10 second long media sample, this will play the sample from the 4th second to the 10th, resulting in a 6-seconds long playback.
53 ges-launch-1.0 +clip /path/to/media inpoint=4.0 duration=2.0 start=4.0
55 Assuming "media" is an audio video sample longer than 6 seconds, this will play a black frame and silence for 4 seconds, then the sample from its 4th second to its sixth second, resulting in a 6-seconds long playback.
57 ges-launch-1.0 --track-types=audio +clip /path/to/media
59 Assuming "media" is an audio video sample, this will only play the audio of the sample in its entirety.
61 ges-launch-1.0 +clip /path/to/media1 layer=1 set-alpha 0.9 +clip /path/to/media2 layer=0
63 Assume media1 and media2 both contain audio and video and last for 10 seconds.
65 This will first add media1 in a new layer of "priority" 1, thus implicitly creating a layer of "priority" 0, the start of the clip will be 0 as no clip had been added in that layer before.
67 It will then add media2 in the layer of "priority" 0 which was created previously, the start of this new clip will also be 0 as no clip has been added in this layer before.
69 Both clips will thus overlap on two layers for 10 seconds.
71 The "alpha" property of the second clip will finally be set to a value of 0.9.
73 All this will result in a 10 seconds playback, where media2 is barely visible through media1, which is nearly opaque. If alpha was set to 0.5, both clips would be equally visible, and if it was set to 0.0, media1 would be invisible and media2 completely opaque.
75 #### Mandatory arguments
79 Specifies the location of the sample to make a clip from.
84 __inpoint[i]=<inpoint>:__
86 Sets the inpoint of the clip, that is the
87 position in the original sample at which the clip will start outputting
90 It is an error to have an inpoint superior to the actual duration of the original sample.
95 __duration[i]=<duration>:__
97 Sets the duration of the clip, that is the
98 duration of the media the clip will output.
100 It is an error to have inpoint + duration be superior to the duration of the
103 The default is the duration of the original sample - the inpoint of the clip.
106 __start[s]=<start>:__
109 Sets the start of the clip, that is its position in
112 If not specified, it will be set to the duration of the layer the clip is added on,
113 as the expected default behaviour is to queue clips one after another.
116 __layer[l]=<layer>:__
118 Sets the layer of the clip. The video stream in
119 overlapping clips on different layers will be blended together according
120 to their alpha property, starting with the clip on the last layer. An
121 example is shown in the EXAMPLES section.
123 If not specified, it will be set to the last layer a clip has been added on, or
124 a first layer if no clip has been added yet.
129 ##### Video properties
131 These have no effects if there is no video stream in the sample.
135 This is the amount of transparency of the clip, ranging from 0.0
136 to 1.0 Clips overlapping on different layers will be composited
137 together, unless --disable-mixing has been specified, in the order of
143 This is the x position (offset) of the clip in pixels, relatively
144 to the output frame of the timeline.
149 This is the y position (offset) of the clip in pixels, relatively
150 to the output frame of the timeline.
155 This is the width in pixels that the clip will occupy in the
161 This is the height in pixels that the clip will occupy in the final output frame.
164 ##### Audio properties
168 This is the volume that will be set on the audio part of the
169 clip, ranging from 0.0 to 10.0, with 1.0 being the default.
174 Set to true to mute the audio of the clip. Default is false.
179 #### Mandatory arguments
184 Specifies the description of a GStreamer a bin, in the gst-launch format.
189 Properties can be set on the effect either directly in the bin-description, or separately through the set-<property-name> command, which will lookup any readable property in any of the children of the bin, and set the provided value on it.
193 ges-launch-1.0 +clip /path/to/media +effect "agingtv"
195 This will apply the agingtv effect to "media" and play it back.
197 ### set-<property-name>
199 Sets the property of an object (for example a clip or an effect). Trying to set a property than can't be looked up is considered an error.
201 By default, set-<property-name> will lookup the property on the last added object.
205 ges-launch-1.0 +clip /path/to/media set-alpha 0.3
207 This will set the alpha property on "media" then play it back, assuming "media"
208 contains a video stream.
210 ges-launch-1.0 +clip /path/to/media +effect "agingtv" set-dusts false
212 This will set the "dusts" property of the agingtv to false and play the
217 ### Project-related options
219 __--load[-l]=<path>:__
221 Load project from file. The project be saved again with the --save option.
224 __-s --save=<path>:__
226 Save project to file before rendering. It can then be loaded with the --load option
229 __-p --sample-path:__
231 If some assets are missing when loading a project file, ges-launch-1.0 will try to
232 locate them in this path. It is especially useful when sharing a project.
235 __-r --sample-path-recurse:__
237 Identical to --sample-path, but ges-launch-1.0 will also recurse in the subfolders
241 ### Rendering options
243 __-o --outputuri=<uri>:__
245 If set, ges-launch-1.0 will render the specified timeline instead
246 of playing it back. The default rendering format is ogv, containing
250 __-f --format=<profile>:__
252 Set an encoding profile on the command line. See ges-launch-1.0 help profile
253 for more information.
254 This will have no effect if no outputuri has been specified.
257 __-e --encoding-profile=<profile-name>:__
259 Set an encoding profile from a preset file. See ges-launch-1.0 help profile
260 for more information.
261 This will have no effect if no outputuri has been specified.
264 __-t --track-types=<track-types>:__
266 Specify the track types to be created. When loading a project, only relevant
267 tracks will be added to the timeline.
272 __-v --videosink=<videosink>:__
274 Set the videosink used for playback.
277 __-a --audiosink=<audiosink>:__
279 Set the audiosink used for playback.
284 Mute playback output. This has no effect when rendering.
289 __--inspect-action-type=<action-type>:__
291 Inspect the available action types that can be defined in a scenario set with --set-scenario.
292 Will list all action-types if action-type is empty.
295 __--list-transitions:__
297 List all valid transition types and exit. See ges-launch-1.0 help transition
298 for more information.
303 __--disable-mixing:__
305 Do not use mixing elements to mix layers together.
308 __-r --repeat=<times>:__
310 Set the number of times to repeat the timeline.
315 ges-launch-1.0 exposes gst-validate functionalities, such as scenarios.
316 Scenarios describe actions to execute, such as seeks or setting of properties.
317 GES implements editing-specific actions such as adding or removal of clips.