Radiant Media Player

Live Video Streaming Guide



Introduction

Live video streaming is booming on the web and we thus provide this guide to help you get the best out of Radiant Media Player for your live video streaming sessions.

There is one thing when preparing for a live video event: it does not get old!

Making a live video event a success is tough even with state of the art equipment and know-how. There are just too many variables we do not have control over: network connection, transcoder restarts, poor audio and so on. So let us try to make proper live video streaming happen :)


The set up

So what do we need for a live video event?

  • A capturing device: from professional camcorders to webcams we need audio and video so we can cast them to the world.
  • An encoder/transcoder: most of the time we get a raw stream of audio and video from the capture point. We need to make it uploadable so we can send it to a remote audience. There are many encoders/transcoders on the market, either software or hardware with various level of features. The key here is to work with a tool you know and are comfortable with. No time for improvisation during a live event.
  • A streaming server/cloud entry: your message is meaningful so you want to reach a large audience. Better be equipped for that. You need to get your stream to the cloud. Either your transcoder would have produced a format compatible for cloud delivery (like MPEG-DASH or Apple HLS) or you can use a streaming server to package your content for web delivery. You can use a content delivery network (CDN) to provide support for more concurrent viewers (which is often an issue if you get an unexpected high traffic).
  • A player: eventually you need a player to display your audio/video content to your viewers. Radiant Media Player is here to help!

This is a general approach to live video streaming. Yours may vary but at the end of the day you will have completed most of the above tasks.


Adaptive bitrate streaming

Here is an example of settings we know is working well in most case scenario for live video streaming. We assume here a video input with a 16:9 ratio.

  • Keyframe: 1 per second
  • Lowest rendition: 640x360 H.264 video at 500 kbps with AAC audio at 128 kbps
  • Medium rendition: 960x540 H.264 video at 1500 kbps with AAC audio at 128 kbps
  • Higher rendition: 1280x720 H.264 video at 2500 kbps with AAC audio at 128 kbps
  • Highest rendition (optional): 1920x1080 H.264 video at 5000 kbps with AAC audio at 128 kbps

H.264 Main profile is recommended for a larger reach. Do not go over H.264 level 4.x as some devices do not support level 5.x.

One of your main issue for your live video event will probably be your uplink connection. Upload bandwidth will most likely be limited and/or expensive. You will need to adapt to your environment and tweak your settings so it can work as you want. Remember that when you upload a stream at 1500 kbps you need at least 2000 kbps of upload bandwidth to account for variation in the encoding bitrates and network overhead (sending/receiving signaling packets).

Adaptive bitrate streaming for live video event is supported for HLS to HTML5 video, HLS to Flash and MPEG-DASH to HTML5 video with Radiant Media Player.


Radiant Media Player live video streaming support

See player code examples for live/DVR streaming on the Live and DVR streaming documentation page.

Our recommendation:

You can either use an HLS alone approach or a combination of MPEG-DASH and Apple HLS. MPEG-DASH is a new format for delivering media content to modern devices and HLS is required to reach iOS and Mac OS devices. Both MPEG-DASH and HLS can stream live to HTML5 video with Radiant Media Player where they are supported and our HLS to Flash module with live support will cover the rest of the devices.

Refer to our streaming documentation page to see where HLS and MPEG-DASH are supported with Radiant Media Player.

There are specific requirements to stream live video content with MPEG-DASH. Make sure to meet all requirements from this MPEG-DASH section. Failure to do so can produce erratic playback behavior. If you cannot make it work with your set up we recommend using a 100% HLS approach which is easier to implement.

If you are streaming live video content through Wowza Streaming Engine refer to our Wowza guide.

Live video streaming on Android:

Generally HLS works quite well ... except when it does not. It is impossible to predict how each Android device will react to live video content with HLS (there is too much fragmentation). Hopefully the latest versions of Chrome for Android are doing a much better job at handling HLS for live video streaming.
Latest version of Chrome for Android do provide support for live video streaming with MPEG-DASH.

Live DVR:

You can do Live DVR with Radiant Media Player with HLS in both HTML5 and Flash video.
To do Live DVR you will need an appropriate streaming server to hold the DVR content. Wowza nDVR is just an example of a streaming server module that works well with Radiant Media Player.

Test and once done re-test:

A successful live video event is made of careful planning and testing. If you have a doubt on something within your live streaming chain - don't leave it be - double check it and fix it if needs be. Having a back-up plan is also recommended when possible ... at least have some back-up cables. Don't just assume that others will have the equipment or a solution for you ... they probably won't ...