Set up an MPEG-DASH (push) stream

MPEG-DASH (Dynamic Adaptive Streaming over HTTP) is an open standard, 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 can 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.

As an open standard, MPEG-DASH is designed to be codec and resolution agnostic. Pearl-2 can send a single resolution and bitrate MPEG-DASH 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 MPEG-DASH. Pearl-2 supports MD5, SHA-256, and SHA-512 hashing algorithms to authenticate the stream.

MPEG-DASH uses an MPEG2-TS transport stream container with a configurable media segment duration, as well as a configurable DASH list size for reassembling the media segments at the ingestion server. Because MPEG-DASH 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 configure advanced features like enabling DASH multiplex streaming. You can also assign the MPEG-DASH stream a user name and password.

The following table lists the optional advanced MPEG-DASH parameters. Check with the ingestion server provider to confirm if any of these parameters need to be configured.

Advanced MPEG-DASH parameters

Item Description
DASH Multiplex streams Check this parameter to enable multiplex streams. When enabled, video and audio are sent in the same segment file instead of one segment for audio and a different one for the video.
Embedded initialization segment Check this parameter to enable inserting an embedded initialization segment into this stream. When enabled, initialization data for the stream is embedded in the MPEG DASH MPD file instead of sending it separately.
User-Agent If the ingestion server requires or only allows incoming streams with specific values in the user-agent header, use this parameter to configure Pearl-2 with the value to insert in its user-agent header.
Initialization template Use this field to specify the name of the initialization file that Pearl-2 sends to the ingestion server. Check with the ingestion server provider for what value to use.
Media segment template Use this field to specify the name of the media segment file that Pearl-2 sends to the ingestion server. Check with the ingestion server provider for what value to use.
DASH MPD upload period Set the duration as an integer in seconds. The acceptable range is from 1 to 999 seconds. The default value is 60 seconds. Fractions and periods are not allowed.

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 MPEG-DASH 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 MPEG-DASH (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 DASH push. The new stream is created using the default name Stream 1. To see the settings, click the stream name.

  1. In the 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) Enter a Username and Password if required for this stream. Get this from the ingestion server provider.
  3. In the Method field, select POST or PUT. This selection must match the requirements of the ingestion server.
  4. In the Segment duration field, enter the length of the media segment in seconds. The default duration is five seconds. Fractions and periods are not supported.
  5. In the DASH List size field, enter the number of .ts segment files in each segment. The default playlist size is five.
  6. (Optional) Under Advanced settings, you can set the following:
    1. Check DASH Multiplex streams to enable multiplex streaming.
    2. Check Embedded initialization segment to add an optional initialization segment to the stream.
    3. User-agent: Enter a user-agent name using alphanumerical characters only if the ingestion server requires that to allow the incoming stream from this device.
    4. Initialization template: Enter the address to use for each individual DASH list in the stream. The initialization template also provides the bitrate, resolution, and codec.
    5. In the Media segment template field, enter the naming format used for the names of media segments. For example: chunk-$Number%05d$.ts
    6. Enter the DASH MPD upload period as an integer in seconds. The default is 60 seconds.
  7. Click Apply.
  8. 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 One 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.