Open topic with navigation
A DASH client receives a streaming clip or broadcast as a series of MP4 (.m4s) or MPEG-2 (.ts) transport stream files. Each segment file encodes a portion of the stream, typically enough data to provide 10 seconds of playback. A DASH presentation thereby consists of a series of segment files delivered using HTTP. The process of creating the .m4s or .ts files is called segmentation.
When requesting the individual transport stream files, the DASH client refers to an XML-based playlist file (.mpd) that lists the segments in their playback order. Data delivery is entirely client-driven. That is, the DASH client determines when to request each transport file in the playlist based on its current buffering and playback state.
A DASH client supports the following codecs for source content that is segmented into transport files:
H.264 baseline or main profile, level 3 or below. Helix Server can stream H.264 content at up to 3 Mbps.
AAC, AAC+, or Enhanced AAC+ up to 700 Kbps. The sampling rate can be up to 48 kHz. Stereo content is recommended.
Because content for DASH clients is converted to the segment files, codec-compatible source content can be in any file format that Helix Server can read. The common formats are MPEG-4 (.mp4), 3GPP (.3gp), F4V (.f4v), and QuickTime (.mov).
Tip: Hint tracks in the source clip are not required. If the source content is hinted, Helix Server ignores the hint track during segmentation.
For more information: The topic "Segmentation Mount Points" lists the live encoders that you can use for DASH content and explains where to place on-demand source clips on Helix Server.
The DASH specification does not require a specific media format for segments. Helix Server supports the generation of either of the following recommended media segment formats:
ISO Base Media File Format as defined in ISO/IEC 14496-12. This online help refers to this format as MP4 transport segments, which are saved with the file extension .m4s.
MPEG-2 Transport Stream as defined in the ISO/IEC 13818-2. This online help refers to this format as MPEG-2 transport segments, which are saved with the file extension .ts.
Note the following about these segment types:
MP4 segments (the default) are preferred to MPEG-2 segments because the standard provides greater flexibility in how long segments can be and how they are structured. Some DASH clients may support only MPEG-2 transport segments, however.
Both segment formats support multi-bandwidth streams and rate shifting during a presentation. Unlike HLS clients that use a master playlist that refers to separate playlists for each bandwidth, DASH clients use a single playlist to refer to all bandwidth choices.
Helix Server does not currently support encryption for either type of segment format.
By default, Helix Server fills DASH client requests using MP4 transport segments. Helix Server generates a separate set of .m4s segments for each audio bandwidth and each video bandwidth encoded into the source. The master playlist (.mpd) lists all audio and video segment choices, allowing the DASH client to switch between segment choices based on its bandwidth availability.
For more information: The topic "DASH File Names" explains the DASH playlist and segment naming conventions.
Optionally, you can change the MP4ODUseMainProfile variable in the Helix Server configuration file to specify on-demand delivery using the On-Demand Profile, which is a subset of the Main Profile. This changes the profile information sent to the client in the playlist header to the following:
For more information: Using the On-demand Profile results in a single transport file for each segmented clip. See "Segment File Names".
You can also change the MP4LiveUseMainProfile variable in the Helix Server configuration file to specify live media delivery using the Live Profile, which is a subset of Main Profile. This alters the profile information sent to the client in the playlist header to the following:
Optionally, a DASH client can request MPEG-2 transport segments when it requests source content. With this segment format, Helix Server creates separate sets of .ts segments for each audience bandwidth (audio plus video) encoded in the source. The master playlist (.mpd) lists the audience choices, allowing the DASH client to switch between audiences based on its bandwidth availability.
Note: DASH MPEG-2 TS segments are not compatible with MPEG-2 TS segments generated for HLS clients. They are created separately and stored in separate subdirectories within segment mount points.
By default, segments are generated according to the MP2T Simple Profile, which uses the following identifier in the playlist header:
For on-demand presentations, type="static" is used.
For live presentations, type="dynamic" is used.
The following sections explain the availability of other Helix system features for DASH clients.
The content distribution feature is not supported for delivering playlists and segment files from a publisher to a subscriber. However, you can use it to distribute source clips (such as MPEG-4 or F4V clips) to Helix Server subscribers. Each subscriber then segments the content separately when the source clip is requested.
You can use the splitting feature to deliver live streams to multiple Helix Servers in push or pull mode. Each Helix Server receiver segments the content separately.
The server-side playlist management feature does not function with DASH clients. It does support HLS clients, however.
Channel switching requires an RTSP channel and cannot be used with live broadcasts to DASH clients.
All media delivered to the DASH client is sent over HTTP. As a result, RTSP proxies Helix Proxy cannot cache or split DASH content.