GStreamer Editing Services -------------------------- This is a high-level library for facilitating the creation of audio/video non-linear editors. Dependencies: ------------- * GStreamer core * gst-plugins-base * gnonlin Classes: -------- TimelinePipeline : GstPipeline for Timeline playback/rendering => Add methods to save/load to/from files ?? Do we need undo/redo support ? Timeline : Top-level container (is also a GstBin) SimpleAVTimeline : Convenience A+V Timeline TimelineObject : Base-class for objects you can put in a TimelineLayer TimelineSource : Source objects to use in a TimelineLayer => _from_uri(const gchar *uri): automatically creates a TimelineSource TimelineTransition : Transitions (TimelineEffect) TimelineLayer : Layer of TimelineObject SimpleTimelineLayer : Simpler API (contiguous objects, list API) Track : High-level single-media Composition (is a GstBin). Represents a 'stream'. TrackObject : Base-class for objects you can put in a Track TrackSource TrackOperation Usage: ------ Create a TimelinePipeline... pipeline = ges_timeline_pipeline_new(); ... with one layer layer1 = ges_simple_timeline_layer_new(); ges_timeline_pipeline_add_layer (layer1); Add a video source to the end src1 = ges_timeline_source_from_uri("/my/cool/file.avi"); ges_simple_timeline_layer_add(src1, -1); Set video output XID and play back the timeline ges_timeline_pipeline_set_xid(1234567); ges_timeline_pipeline_play(); Save Timeline to a file ges_timeline_save ("/my/project.ges"); Stop output and render to a file ges_timeline_pipeline_stop(); ges_timeline_pipeline_render_to_file("/my/output.mov", OUTPUT_SETTINGS);