When creating a live encoding with Bitmovin you have the option of configuring the encoding with both a main and a backup ingest feed (available for RTMP, SRT and ZIXI).
This will have the effect that even if you experience a dropout on your main ingest feed (or backup ingest feed) the live stream will continue to play client side.
But how does it look with a real example? Please watch the following video where dropouts on both main and backup feeds are simulated.
Highlights from the video:
- 00:02: Creating the live encoding with main and backup ingest
- 01:30: Starting main and backup ingest feeds
- 01:56: Main and backup ingest feeds running - waiting for live stream to play
- 02:29: Live stream started and playing from main ingest feed
- 03:25: Turning off main ingest feed - live stream will automatically failover to backup ingest feed
- 03:45: Failover to backup ingest feed
- 04:46: Turning back on main ingest feed (live stream continues from backup ingest feed)
- 05:55: Turning off backup ingest feed - live stream will automatically failover to main ingest feed
- 06:15: Failover to main ingest feed
- 07:16: Turning of ingest and shutting down live encoding
FFMPEG command used to ingest RTMP:
ffmpeg -re -i "udp://233.0.14.137:1234?overrun_nonfatal=1&fifo_size=50000000" -vf drawtext="fontfile=monofonto.ttf: fontsize=96: box=1: boxcolor=black@0.75: boxborderw=5: fontcolor=white: x=(w-text_w)/2: y=((h-text_h)/2)+((h-text_h)/4): text='Primary - %{gmtime\:%H\\\\\:%M\\\\\:%S}'" -vcodec libx264 -preset ultrafast -b:v 8000k -acodec aac -f flv rtmp://ip-address/live/livestream