This series of docs provides a cheat sheet for GStreamer on the command-line.
A few Python examples are also included for when you need GStreamer to be dynamic (i.e. react to user or some other action).
- Basics
- Test streams
- RTMP
- Mixing video & audio
- Images
- Queues
- Writing to files
- Sending to multiple destinations (tee)
- Sharing and receiving pipelines (including sending/receiving video from shared memory)
- Network transfer (including how to send so that VLC can preview)
- RTP
- SRT
- http://wiki.oz9aec.net/index.php/Gstreamer_cheat_sheet
- https://github.com/xmementoit/gstreamerCheatsheet/blob/master/README.md
- https://gist.github.com/nebgnahz/26a60cd28f671a8b7f522e80e75a9aa5
If you want to interact with GStreamer after it's started (e.g. respond to an event, or dynamically change a pipeline), the command-line GStreamer doesn't really cut it. Instead, here are some options:
- GStreamer Daemon (gstd) - allows setting and updating via a TCP connection
- Snowmix - an open-source live video mixer
- Develop using the GStreamer library, in either C, Python, or C#/.NET
Python is an easy language, so it's no surprise that it's good way to develop using GStreamer.
Some example scripts can be found in the python_examples/ directory.
Other good GStreamer Python resources that I've found:
- Getting started with GStreamer with Python
- Python GStreamer Tutorial
- Function reference
- Including a useful mapping from C
- Nice example script
My favourite reference is Valadoc
If you spot anything incorrect or incomplete, reports are welcome, either using issues or pull requests
Creating this guide gave me enough GStreamer understanding to make Brave, a live video editor for the cloud.