Set up an HLS stream

Stream HDR or use codecs not supported by RTMP by using HLS (HTTP Live Streaming) ingestion protocol on YouTube Live.

Before you start

Make sure that your encoder supports HLS and that you know the basics of live streaming on YouTube.

1 – Check for a YouTube HLS preset

If your encoder has a preset for HLS ingestion to YouTube, select the preset. You may need to copy and paste your stream key like with RTMP streams. You're now ready to stream.

If your encoder doesn't have an HLS ingestion to YouTube preset, skip to step 2 'Set the ingestion URL'.

2 – Set the server URL

  1. Go to YouTube's Live Control Room > Stream. Under 'Select stream key', click Create new stream key and select HLS as a stream protocol. 

Note: If you want to stream in HDR, you must leave 'Turn on manual resolution' unticked.

  1. The 'Stream URL' for HLS ingestion will update. The URL should start with 'https' instead of 'rtmp'. Copy the URL to your encoder. 
  2. If you need a backup ingestion, copy the 'Backup server URL'. The steam key is already part of the URL, so you don't need to copy the 'Stream key' separately.
 

Note: The 'Ultra low-latency' option is disabled when HLS is chosen. HLS has higher latency because it sends segments of video, instead of a continuous stream like RTMP.

3 – Finish HLS settings

Make sure that you also update these HLS settings required by YouTube Live:

  • Segment Duration: between 1–4 seconds, lower segment duration results in lower latency.
  • Segment Format: Must be TS (Transport Stream).
  • Byte Range is not supported.
  • Must use a rolling playlist with no more than five outstanding segments.
  • Must use HTTPS POST/PUT.
  • Encryption is not supported besides using HTTPS.

Encoders that support HLS output

  • Cobalt encoders
  • Harmonic
  • Mirillis Action: If HEVC video codec is chosen, HLS ingestion is automatically used.
  • OBS
  • Telestream
Was this helpful?
How can we improve it?