Live Encoding Best Practices

Here you’ll find our recommendations about how to set up your encoders to have the best results with our backend configuration (fragments, chunk, playlist, etc.). If desired, you can use a different configuration but we can’t assure the best end-user experience. Of course, if you or your clients have specific needs, feel free to ask to our experts about a specific setup.

Bitrate

The following table shows our recommended resolutions, bitrates and frames per seconds.

Video Raccomendations

ResolutionBitrateFPS (progressive)*
EuropeOthers**
Low Resolution420×270400 kbps2530
Medium Resolution640×360800-1200 kbps2530
High Resolution 960×540900-1500 kbps2530
HD Video Resolution1280×7201800-2500 kbps2530
Full HD Resolution1920×10803200-4000 kbps***2530
*50/60 fps are interlaced frame rates used in television only and not suitable for streaming **every country has its own fps standard, please refer to it ***for specific needs, like better quality with fast paced scenes, sports, etc., you might want to increase this value Constant bitrate (CBR) is required, Variable Bitrate (VBR) will causes issues about end-user experience.

Video Raccomendations

The following are our recommended audio formats and bitrates. Video with music content: 128Kbps MP3 or 256Kbps AAC / 2 channel Stereo Video with speech (ex.: closeups, interviews, news, etc.) content: 32-64Kbps MP3 or AAC / 1 channel Mono Video Codec H.265 is available but we recommend to use H.264. Level A higher compression level will improve the content quality, but it’s burdensome for the encoder CPU and for the client device (browser, etc.) to decode it. We recommend to use the medium level supported by your encoder. If you are using the H.264 profile, Main would be a good starting point instead of Baseline or High. Keyframe/GOP The keyframe should be passed at every GOP interval. If you are using 25fps (recommended), the GOP should be a multiple of 25 – from 1 to 8 seconds From our Source control panel on Media Manager you can see the three pre-set settings, clicking on them you’ll notice the RTMP string changing:

  • DEFAULT (rtmp://bc.msmdn.net/event/…): recommended setting = keyframe 3 or GOP 75 (90 with 30fps)
  • LOW DELAY (rtmp://bc.msmdn.net/eventll/…): recommended setting = keyframe 1 or GOP 25 (30 with 30fps)
  • HIGH BUFFER (rtmp://bc.msmdn.net/eventhb/…): recommended setting = keyframe 6 or GOP 150 (180 with 30fps)

In this way the keyframe/GOP will match with the chunks length so the streaming will be optimized for the bandwidth, obtaining a better quality with the same bitrate. Increasing the GOP will improve the quality of your content, decreasing it will lower the delay instead

Video Raccomendations

Advanced Settings (HTTP Ingest Protocols) Please only proceed if you are doing packetization/chunking on your own server. Segment Duration: Segment duration should always be multiples of your original encoded key frame distance/GOP. If your keyframe is set at 3 seconds, your segment duration should be set at 3, 6, 9, 12, etc. Index Duration: The number of TS segments (chunks) presented within the playlist. The average index duration is 4-5 chunks, increasing it will introduce a greater delay. For example, setting a segment duration at 10 seconds and the Index Duration at 60 seconds will keep 6 TS segments (chunks) in your playlist file. Max-Age Header Set Index/Manifests TTL to 1 seconds on your packetizer (or packetizer software). Set TS segment/Fragment TTL to 3600 seconds on your packetizer (or packetizer software).

Any questions?

Read our FAQs