mmids
Mmids (Multi-Media Ingestion and Distribution System) is a powerful, user friendly, open source live video workflow server.
- User Friendly
- Complex video workflows can be easily configured by non-developers
- Observable
- Logging with an emphasis on corelations. Easily pinpoint logs relevant to a single stream on a busy server
- Developer Friendly
- Trivially add new workflow logic, new network protocols, etc... all with your own open-source or proprietary components
- Fully Dynamic
- Push and pull mechanisms to start, stop, and update workflows on the fly without disruptions.
See the official documentation for more details.
What's In This Repository?
- mmids-app
- This is the official mmids application
- mmids-core
- This is the main crate which contains all the logic which runs mmids. It also contains all types needed to extend mmids, or create your own custom distribution
- mmids-gstreamer
- This crate provides mmids components that relate to gstreamer related activities, such as transcoding.
- reactor-test-server
- This contains a basic HTTP server that can respond to
simple_http
reactor executor queries. - When a
POST
request comes in tohttp://localhost:9055/<category>
with a stream name in the body, it will look for the fileworkflows/<category>/<stream name>.mmids
. If one exists it will return the content of that file with a200
, otherwise returns a404
. - Primarily used for testing reactors
- This contains a basic HTTP server that can respond to
- validators
- These are different applications that were written to independently test different components.
- echo-server - Used to test the TCP socket manager
- ffmpeg-runner - Used to test the ffmpeg endpoint
- rtmp-server - Used to test the rtmp endpoint
Building From Source
For the most part mmids
can be built just using standard rust tooling. The exception is that any project that utilizes mmids-gstreamer
must have the GStreamer
1.8 or greater libraries installed. The GStreamer specific installation steps can be found in the `gstreamer-rs project docs