<!-- <styleV> .container{ display: flex; } .col{ flex: 1; } </style> <h2 style="position: fixed; top: 1.0em"> OpenTimelineIO <br/> and <br/> GStreamer integration </h2> <div style=" position: fixed; bottom: 1.0em; right: -2.0em"> Thibault Saunier <div> --> --- ## GStreamer - Cross platform open source pipeline based multimedia framework - By default on all Linux distributions - Used in many industries NOTE: - Embedded devices/TVs - Broadcasting industry - Medical industry - ... --- ## GStreamer Editing Services - High level APIs for video editing - GESTimeline - GESProject - GESLayer - GESTrack NOTE: - Written in C with Python/Javascript/rust bindings --- ### OpenTimeline IO integration - Added an `xges` OpenTimelineIO adapter → We can convert editorial cuts information from and to the GES serialization format --- ### Support in GES - `GESOtioFormatter` → Any format supported by OpenTimelineIO can be loaded in GES NOTE: - Implemented in python using PyGObject - Plans to port it to the C++ API when possible --- ### Support in GStreamer - Wrote the `gesdemux` GStreamer element - Implemented `typefind` function to detect file formats supported by Otio → Files supported by OpenTimelineIO can be used as any media files in GStreamer NOTE: - Implemented in python using PyGObject --- ### Future - Move to the the Otio C++ API - Add support for nested timelines in the Otio formatter --- Thanks!
{"metaMigratedAt":"2023-06-14T22:48:51.016Z","metaMigratedFrom":"YAML","title":"OpenTimelineIO and GStreamer integration","breaks":true,"contributors":"[{\"id\":\"bfeae433-30ab-4699-b404-5902dfb59ef6\",\"add\":1825,\"del\":2646}]"}
Expand menu