Simple 1-minute-setup docker-compose thingy that offers a part of Wowzas core functionallity (and some premium features):
- Accepts Ingested streams via rtmp
- Encodes streams into multiple bitrate versions
- Outputs streams via hls
- Including DVR (seekable stream)
- Step 0: get docker and docker compose.
- Step 1
docker-compose build
docker-compose up -d
That's it. Your server is running. You can now
- Step 2: Create a user:
at http://localhost:8081 you can create a streamer. Once you did this, copy their key
- Step 3: ingest a stream:
This will create an adaptive stream (be carefull about your cpu though, this can get nasty):
# be a little more creative, especially if you are unsure about your input (you should go for flv or h.264 with some reasonable encoding settings)
ffmpeg -re -i my_video.mp4 -f -flv rtmp://localhost/live1/streamName?key=1234xxx
This stream is not recoded, saving you tons of cpu capacity and making your viewers sad:
ffmpeg -re -i my_video -f -flv rtmp://localhost/live2/streamName?key=1234xxx
- Play your stream:
The stream will wait for you at http://localhost:8080/hls/streamName.m3u8
If this project will ever get some love, features could be:
- Web interface to create authenticated streamers, all others can be rejected.
- Reduce latency/fine-tune ffmpeg
- Rotate/remove old hls segments
- Make it Scalable™
- Step 1: Multiple output nodes with docker/k8s orchestration in mind
- Step 2: Multiple input/transcoding nodes