Set up an HLS (push) stream

HTTP Live Streaming (HLS) is an adaptive, HTTP-based streaming protocol that sends video and audio content over the network in small, media segments that get reassembled at the streaming destination. Media segments stream over HTTP port 80 or port 443 for HTTPS, which are typically open for network access. As such, the content can easily traverse firewalls with little to no IT involvement.

Pearl-2 can send a single resolution and bitrate HLS stream as an HTTP POST (or HTTP PUT) to HLS ingestion servers and CDNs such as Akamai and YouTube. The default is HTTP POST. Your channels on Pearl-2 must be configured for H.264 and AAC audio codec to stream using HLS. Pearl-2 supports MD5, SHA-256, and SHA-512 hashing algorithms to authenticate the stream.

HLS uses an MPEG2-TS transport stream container with a configurable media segment duration, as well as a configurable playlist size for reassembling the media segments at the ingestion server. Because HLS favors Quality of Service (QoS) over low-latency, lag times that can be high. If a specific media segment size isn't required by the ingestion server, then you can shorten the duration of the media segment to decrease latency. The default segment duration is six seconds.

Using the Admin panel, you can add advanced features like a master manifest, which is an address applied to each individual media playlist in the stream. You can also assign the HLS stream a user name and password. If security and authentication credentials are required to stream to the ingestion server, consult the ingestion server provider.

Important considerations

  • Only a single resolution and bitrate stream is supported.
  • Set H.264 as the video encoding for the channel that's streaming.
  • Fragmented MP4 is not supported.
  • If the HLS ingestion server requires a custom user-agent name, add that to the HLS stream in the Advanced settings using the Admin panel and ensure the agent-name is added to the HLS ingestion server's white list. Contact the IT administrator responsible for the ingestion server.
  • If the HLS ingestion server requires a user name and password, you can get those credentials from the IT administrator responsible for the ingestion server.

Set up an HLS (push) stream using the Admin panel

  1. Login to the Admin panel as admin, see Connect to Admin panel.
  1. From the Channels menu, select the channel and click Streaming. The Streaming configuration page opens.
  2. Click New stream and choose HLS push. The new stream is created using the default name Stream 1. To see the settings, click the stream name.

  1. In the Media Playlist URL field, enter the URL of the destination server that is ingesting the stream. For example: http://p-ep721023.i.akamaientrypoin.net/722223/hlsQualification/my_video.m3u8
  2. (Optional) In the Segment template field, enter the naming format used for the names of media segments. For example: chunk-$Number%05d$.ts
  3. (Optional) Enter a Username and Password if required for this stream. Get this from the ingestion server provider.
  4. In the Method field, select POST or PUT. This selection must match the requirements of the ingestion server.
  5. In the Segment duration field, enter the length of the media segment in seconds. The default duration is six seconds. Fractions and periods are not supported.
  6. In the Playlist size field, enter the number of .ts segment files in each segment. The default playlist size is six.
  7. (Optional) Under Advanced settings, you can set the following:
    1. Master manifest: Enter the URL (including the master playlist file name) of where Pearl-2 will upload the master manifest file. The master playlist also provides the bitrate, resolution, and codec.
    2. User-agent: Enter a user-agent name using alphanumerical characters only if the ingestion server requires a specific value in the user-agent header to allow the incoming stream from this device.
  8. Click Apply.
  9. When you're ready to start streaming this channel, click Start.

For details on how to start and stop streaming using the touch screen, see Stream a channel using the touch screen. To learn how to start and stop streaming using Epiphan Live, see Control streaming and recording using Epiphan Live. For details about using the Single Touch feature to control your recording and streaming across multiple channels and recorders simultaneously with the touch of a button, see About Single Touch streaming and recording.