Why is there a live streaming delay?

Unfortunately there is always a slight delay when you live stream. That is due to the processing involved in getting your ingested video out to your viewers.

Once your stream is received from the server assigned to process it, it first needs to be transcoded to a format called HLS. In addition, multiple bitrates may be output.

HLS makes use of segments. So rather than having a single file or stream (such as an MP4 or a continuous RTMP stream - see below) each consists of a playlist/manifest file which then references many smaller files (the segments). For live streaming Apple currently recommends using segments that are 10 seconds (DASH usually uses shorter segments). The manifest will need to contain at least one of those segments so the player has something to play.

Once those initial segments are available, the files are then copied from the transcoding server. If S3 is the origin, while it has many great features - including built-in redundancy and encryption-at-rest - it also uses a eventual consistency system and so while the files will appear, they won’t necessarily appear immediately.

What about RTMP?

It is possible to reduce the live streaming delays by using the RTMP protocol. RTMP is a proprietary protocol developed by Macromedia (now owned by Adobe). RTMP has several problems though.

One is that many firewalls do not automatically allow it (it uses a different port than normal HTTP/HTTPS) and so tricks such as RTMPT need to be used to “tunnel” it through. It is hard to scale RTMP streaming (as mentioned above, HLS and DASH use common text/data files for which delivery networks were designed to scale).

Finally, and most importantly, RTMP can not be played natively by web browsers (unlike a format like HLS, which browsers such as Safari and Edge do support natively). It is not supported within HTML5. This means you need to have a plug-in installed to play a RTMP stream. That plug-in is Adobe’s Flash player - however many devices do not support Flash. Famously Apple decided not to support it within iOS (iPad & iPhone). Also many desktops no longer support it as organisations take the decision to remove it. It has numerous security issues. Just this patch closed 23 separate security bugs: http://www.bbc.co.uk/news/technology-35783558. As it states: “A lot of web firms have now stopped using Flash in a bid to thwart attackers”.

Try setting up a live stream and if you have any questions about our live streaming, the video CMS or our business video hosting, please email support@vidbeo.com.

Go back to the questions about streams