<!--
<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}]"}