View CMAF HLS stream playlists from Wowza Streaming Engine

While any CMAF-packetized HLS stream is active in Wowza Streaming Engine™ media server software version 4.7.8 or later, you can query for information about the content of the stream. This can be helpful in troubleshooting problems or playback issues.

Customize HLS segment format names


By default, Wowza Streaming Engine uses wowzasegmentformat as the default query parameter name, but you can customize it. For example, if you don't like wowzasegmentformat, specify a different value, such as mySegmentFormat.

  1. Navigate to the Application.xml file for your CMAF live stream application. If you're using the default live application that installs with Wowza Streaming Engine, navigate to [install-dir]/conf/live.
  2. Open Application.xml in a text editor.
  3. In the <HTTPStreamer> container element, add the segmentFormatQueryParameter property. The XML looks like this:
<HTTPStreamer>
    <Properties>
        <Property>
            <Name>segmentFormatQueryParameter</Name>
            <Type>String</Type>
            <Value>wowzasegmentformat</Value>
        </Property>
    <Properties>
</HTTPStreamer>
  1. Save your changes and restart Wowza Streaming Engine.

Query a CMAF HLS stream


You can run a cURL command against any CMAF-packetized HLS playback URL or media playlist to get information about the contents of the stream or playlist. Execute the command in a Command Prompt or Terminal window on the server that's running Wowza Streaming Engine while the stream is active; you can use segment keys or query parameters, as desired. Here are some examples.

View an HLS stream 

Note: You can run the same query on a Cupertino-packetized HLS stream, too.

curl http://localhost:1935/live/myStream/playlist.m3u8

The command returns the details of the stream, including the active media playlist (chunklist):

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=229360,CODECS="avc1.66.31,mp4a.40.2",RESOLUTION=1280x720
chunklist_w56824014.m3u8

View the .ts segments in a CMAF HLS stream

Specify the segment format in as a key in the URL:

curl http://localhost:1935/live/myStream/playlist_sfts.m3u8

or as a query parameter:

curl http://localhost:1935/live/myStream/playlist.m3u8?wowzasegmentformat=ts

Both commands return the details of the master playlist, including the active media playlist, which look something like this:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=229360,CODECS="avc1.66.31,mp4a.40.2",RESOLUTION=1280x720
chunklist_w56824014_sfts.m3u8

View the .ts segments in an HLS media playlist

This example specifies the segment type as a key in the URL:

curl http://localhost:1935/live/myStream/chunklist_w56824014_sfts.m3u8

The command returns the details of the .ts segments, which look something like this:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:40
#EXTINF:6.0,
media_w56824014_sfts_40.ts
#EXTINF:6.0,
media_w56824014_sfts_41.ts
#EXTINF:6.0,
media_w56824014_sfts_42.ts

View the fMP4 segments in a CMAF HLS stream

Specify the segment format in as a key in the URL:

curl http://localhost:1935/live/myStream/playlist_sfm4s.m3u8

or as a query parameter:

curl http://localhost:1935/live/myStream/playlist.m3u8?wowzasegmentformat=m4s

Both commands return the details of the master playlist, including the active media playlist, which look something like this:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA:TYPE=AUDIO,NAME="myStream",DEFAULT=YES,GROUP-ID="audioGroup",URI="chunklist_w202553310_ao_sfm4s.m3u8"
#EXT-X-STREAM-INF:BANDWIDTH=196127,CODECS="avc1.66.31,mp4a.40.2",RESOLUTION=1280x720,AUDIO="audioGroup"
chunklist_w202553310_vo_sfm4s.m3u8

View the video fMP4 segments in an HLS media playlist

This example requests only the video portion (vo) of an fMP4 (sfm4s) media playlist:

curl http://localhost:1935/live/myStream/chunklist_w202553310_vo_sfm4s.m3u8

The command returns the video segments, which look something like this:

#EXTM3U
#EXT-X-VERSION:5
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MEDIA-SEQUENCE:20
#EXT-X-TARGETDURATION:6
#EXT-X-MAP:URI="header_w202553310_vo_sfm4s_m3u8.cmfv"
#EXTINF:6.0,
media_w202553310_vo_sfm4s_20_m3u8.cmfv
#EXTINF:6.0,
media_w202553310_vo_sfm4s_21_m3u8.cmfv
#EXTINF:6.0,
media_w202553310_vo_sfm4s_22_m3u8.cmfv
#EXTINF:6.0,
media_w202553310_vo_sfm4s_23_m3u8.cmfv
#EXTINF:6.0,
media_w202553310_vo_sfm4s_24_m3u8.cmfv

View the segments in a CMAF HLS media playlist 

You can also query the media playlist without specifying the format.

curl http://localhost:1935/live/myStream/chunklist_w56824014.m3u8

The result shows the segments in the playlist, which in this example are .ts:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:40
#EXTINF:6.0,
media_w56824014_40.ts
#EXTINF:6.0,
media_w56824014_41.ts
#EXTINF:6.0,
media_w56824014_42.ts