• How to do adaptive bitrate streaming

    This tutorial provides basic steps for setting up adaptive bitrate (ABR) streaming by using Wowza Streaming Engine™ media server software.

    Contents


    Video tutorial
    Aligned keyframe requirement
    VOD adaptive bitrate streaming
    Live adaptive bitrate streaming
    Special considerations for Microsoft Smooth Streaming and Adobe RTMP
    More resources
    Appendix: Understanding SMIL file syntax

    Video tutorial




    Aligned keyframe requirement


    The streams in an adaptive bitrate (ABR) stream must have aligned keyframes for stream-switching to work properly in Adobe Flash Player, Apple iOS devices, MPEG-DASH players, and Microsoft Silverlight. This can be done at encoding time by setting the keyframe interval and frame rate values to be the same for each encoded file or stream.

    VOD adaptive bitrate streaming


    Adaptive bitrate (ABR) streaming of video on demand (VOD) content to Adobe Flash Player, Apple iOS devices, MPEG-DASH players, and Microsoft Silverlight requires that you have multiple files that are pre-encoded to the desired bitrates for streaming. For stream-switching to occur properly, the keyframes of each of the files must be aligned with each other. This must be done at encoding time and can be achieved by setting the keyframe interval and frame rate values to be the same for each encoded file. After the files are properly encoded, copy them to the [install-dir]/content folder and create a Synchronized Multimedia Integration Language (SMIL) file that links the files together for playback. The SMIL file contains the names and descriptions of variable bitrate streams used in adaptive bitrate (ABR) streaming.

    Note: The procedures in this section create a SMIL file named bigbuckbunny.smil to support the following files, which you can download from our website for testing purposes. This set of files was encoded with aligned keyframes to enable adaptive bitrate streaming.

    H.264 Main profile
    bigbuckbunny_450.mp4 (450kbps total bitrate)
    bigbuckbunny_750.mp4 (750kbps total bitrate)
    bigbuckbunny_1100.mp4 (1100kbps total bitrate)
    bigbuckbunny_1500.mp4 (1500kbps total bitrate)

    Wowza Streaming Engine Manager configuration

    To create a SMIL file to adaptively stream the sample videos, do the following:

    1. In the Applications contents panel, click vod, click SMIL Files, and then click Add SMIL File.



      Note: You can also start the procedure to create a SMIL file in the Server contents panel.
    2. In the Add SMIL File dialog box, enter a name for the new SMIL file, and then click Add. (The title is optional.)



    3. On the bigbuckbunny.smil page, click Add SMIL Stream.



    4. In the Add SMIL Stream dialog box, select the video stream type, and then click Add.



    5. The new SMIL stream page is displayed.



      Configure the following options for the first sample video (bigbuckbunny_450.mp4), and then click Add.

      • Source (src): Enter bigbuckbunny_450.mp4. This must be the name of the source file in storage.

      • System Language: Enter eng (English per ISO 369.2). This is the encoded system language.

      • Video Bitrate: Enter 450000. This is the encoded bitrate value for the video, in bits-per-second. To get this value, you must multiply the encoded bitrate value in kilobits-per-second by 1000. For this video file: 450kbps * 1000 = 450000bps.

      • Video Width and Video Height: Enter 424 and 240 into the respective fields. This is the encoded size of the video, in pixels.

      • Audio Bitrate: Enter 44100. This is the encoded bitrate for the audio that's included with the video.

    6. Repeat steps 4 - 6 for the remaining sample video files. Use the following table for information about bitrates and size of the encoded files.

      Source (src) Video Bitrate Video Width Video Height Audio Bitrate
      bigbuckbunny_450.mp4 450000 424 240 44100
      bigbuckbunny_750.mp4 750000 640 360 44100
      bigbuckbunny_1100.mp4 1100000 1272 720 44100
      bigbuckbunny_1500.mp4 1500000 1590 900 44100

    7. Configure a VOD application to deliver the SMIL file and media content to client players. You can use the preconfigured vod application to stream adaptive bitrate content. For information about how the vod application is configured and about how to create a VOD application for your purposes, see How to set up video on demand streaming.

    8. To test the SMIL file with adaptive bitrate functionality, see VOD playback.

    Text file configuration

    Note: If you created a SMIL file by following the instructions in the previous section, skip this section. Wowza Media Server™ software doesn't support Streaming Engine Manager, so you must create the SMIL file in a text editor and manually upload it to [install-dir]/content/.
    Using a text editor, create a SMIL file named bigbuckbunny.smil in the [install-dir]/content folder with the following content:
    <?xml version="1.0" encoding="UTF-8"?>
    <smil title="">
    	<body>
    		<switch>
    			<video height="240" src="bigbuckbunny_450.mp4" systemLanguage="eng" width="424">
    				<param name="videoBitrate" value="450000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<video height="360" src="bigbuckbunny_750.mp4" systemLanguage="eng" width="640">
    				<param name="videoBitrate" value="750000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<video height="720" src="bigbuckbunny_1100.mp4" systemLanguage="eng" width="1272">
    				<param name="videoBitrate" value="1100000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<video height="900" src="bigbuckbunny_1500.mp4" systemLanguage="eng" width="1590">
    				<param name="videoBitrate" value="1500000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    		</switch>
    	</body>
    </smil>
    You can see that there's a <video> element in the <switch> container for each file rendition. This syntax includes all aspects of the stream with videoBitrate and audioBitrate specified as parameters.

    Simpler forms of the SMIL file will also work. However, to ensure that the SMIL file will be compatible with all HTTP streaming protocols, defining a system-bitrate attribute or systemBitrate parameter in all <video> elements is required. The system-bitrate sets the sum of all audio and video bitrates in the media file.

    <video src="bigbuckbunny_450.mp4" system-bitrate="494100"/>
    You can also use the video-bitrate and audio-bitrate attributes (instead of the equivalent videoBitrate and audioBitrate parameters) to meet this compatibility requirement.

    <video src="bigbuckbunny_450.mp4" video-bitrate="450000" audio-bitrate="44100" />
    Notes:

    VOD playback

    You can use the SMIL file to play the highest-bandwidth stream that your client processor and connection will support. The client player determines which stream to play, depending on network and processor capabilities. If you use the installed vod application, the source of playback files is the default content store: [install-dir]/content. The URL syntax varies depending on the player, as shown in the following examples.

    Adobe Flash Player (Adobe HDS)
    URL: http://[wowza-ip-address]:1935/vod/smil:bigbuckbunny.smil/manifest.f4m

    Apple iOS device (Cupertino/Apple HLS)
    URL: http://[wowza-ip-address]:1935/vod/smil:bigbuckbunny.smil/playlist.m3u8

    Microsoft Silverlight (Smooth Streaming)
    http://[wowza-ip-address]:1935/vod/smil:bigbuckbunny.smil/Manifest

    MPEG-DASH
    http://[wowza-ip-address]:1935/vod/smil:bigbuckbunny.smil/manifest.mpd

    Adobe Flash Player (RTMP)
    See RTMP.

    VOD playback in Streaming Engine Manager


    In the following example, the Server is the [wowza-ip-address] or domain name of the server that's running the Streaming Engine software. For the form of various player protocols, refer to the URL syntax in the previous section. To play your own content, copy it into the [install-dir]/content folder and create a SMIL file similar to bigbuckbunny.smil.

    You can test each stream individually to verify that, for example, bigbuckbunny_450.mp4, bigbuckbunny_750.mp4, bigbuckbunny_1100.mp4, and bigbuckbunny_1500.mp4, will play as expected, then test bigbuckbunny.smil as shown in the following player instructions.

    In Streaming Engine Manager, click Test Players in the upper-right corner of the vod application page. The Test Players window that opens includes test players that are preconfigured to stream the sample.mp4 video file over various streaming formats.

    Each tab in the Test Players window either hosts a test player that you can use to play the video file or provides instructions for playing the video file. For example, to use the Adobe HDS protocol to play the bigbuckbunny.smil video file, click the Adobe HDS tab, enter the information below, and then click Start.

    • Server: Enter [wowza-ip-address]:1935.

    • Application: Enter vod.

    • Stream: Enter smil:bigbuckbunny.smil.




    The result when using the Adobe HDS tab on the player is the following URL:
    http://[wowza-ip-address]:1935/vod/smil:bigbuckbunny.smil/manifest.f4m

    The test players are also online on our Video Test Players webpage.

    Live adaptive bitrate streaming


    Live adaptive bitrate (ABR) streaming to Adobe Flash Player, Apple iOS devices, Microsoft Silverlight, and MPEG-DASH requires that you have an encoder that can generate multiple bitrate streams from the same source with properly aligned keyframes. You also must create a Synchronized Multimedia Integration Language (SMIL) file that links the streams together for playback.

    The procedures in this section assume that you have three live streams encoded at different bitrates:

    • myStream_200 (200kbps total bitrate)

    • myStream_350 (350kbps total bitrate)

    • myStream_700 (700kbps total bitrate)

    Wowza Streaming Engine Manager configuration

    SMIL files contain the names and descriptions of variable bitrate streams that are used in adaptive bitrate (ABR) streaming. The following procedure in the Streaming Engine Manager creates a SMIL file named myStream.smil to support three live streams: myStream_200, myStream_350, and myStream_700.

    1. In the Applications contents panel, click live, click SMIL Files, and then click Add SMIL File.



      Note: You can also start the procedure to create a SMIL file in the Server contents panel.
    2. In the Add SMIL File dialog box, enter a name for the new SMIL file, and then click Add. (The title is optional.)



    3. On the myStream.smil page, click Add SMIL Stream.



    4. In the Add SMIL Stream dialog box, select the video stream type, and then click Add.



    5. The new SMIL stream page is displayed.



      Configure the following options for the first sample live stream (myStream_200), and then click Add.

      • Source (src): Enter myStream_200. This must be the name of the encoded stream.

      • System Language: Enter eng (English per ISO 369.2). This is the encoded system language.

      • Video Bitrate: Enter 200000. This is the encoded bitrate value for the video, in bits-per-second. To get this value, you must multiply the encoded bitrate value in kilobits-per-second by 1000. For this stream: 200kbps * 1000 = 200000bps.

      • Video Width and Video Height: Enter 424 and 240 into the respective fields. This is the encoded size of the video, in pixels.

      • Audio Bitrate: Enter 44100. This is the encoded bitrate for the audio that's included with the video.

    6. Repeat steps 4 - 6 for the remaining video streams. Use the following table for information about bitrates and size of the media streams.

      Source (src) Video Bitrate Video Width Video Height Audio Bitrate
      myStream_200 200000 424 240 44100
      myStream_350 350000 640 360 44100
      myStream_700 700000 1272 720 44100

    7. Configure a live application to deliver the SMIL file and media content to client players. You can use the preconfigured live application to stream adaptive bitrate content. For information about how the live application is configured and about how to create a live application for your purposes, see How to set up live streaming using an RTMP-based encoder.

    8. Connect the SMIL file to an application.

      1. In the Applications contents panel, click live, click SMIL Files, and then click the Connect icon for myStream.smil.



        Note: You can also connect the SMIL file to an application in the Server contents panel.
      2. In the Connect a SMIL File dialog box, select the Application Name. You can use the preconfigured live application and default instance (_definst_). MediaCaster Type is not required for live streaming.


    9. To test the SMIL file with adaptive bitrate functionality, see Live playback.

    Text file configuration

    Note: If you created a SMIL file by following the instructions in the previous section, skip this section. Wowza Media Server™ software doesn't support Streaming Engine Manager, so you must create the SMIL file in a text editor and manually upload it to [install-dir]/content/.
    Using a text editor, create a SMIL file named myStream.smil in the [install-dir]/content folder with the following content:
    <?xml version="1.0" encoding="UTF-8"?>
    <smil title="SMIL file for live streaming">
    	<body>
    		<switch>
    			<video height="240" src="myStream_200" systemLanguage="eng" width="424">
    				<param name="videoBitrate" value="200000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<video height="360" src="myStream_350" systemLanguage="eng" width="640">
    				<param name="videoBitrate" value="350000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<video height="720" src="myStream_700" systemLanguage="eng" width="1272">
    				<param name="videoBitrate" value="700000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    		</switch>
    	</body>
    </smil>
    You can see that there's a <video> element in the <switch> container for each stream rendition. This syntax includes all aspects of the stream with videoBitrate and audioBitrate specified as parameters.

    Simpler forms of the SMIL file will also work. However, to ensure that the SMIL file will be compatible with all HTTP streaming protocols, defining a system-bitrate attribute or systemBitrate parameter in all <video> elements is required. The system-bitrate sets the sum of all audio and video bitrates in the media file.

    <video src="myStream_200" system-bitrate="244100"/>
    You can also use the video-bitrate and audio-bitrate attributes (instead of the equivalent videoBitrate and audioBitrate parameters) to meet this compatibility requirement.

    <video src="myStream_200" video-bitrate="200000" audio-bitrate="44100" />
    Note: For details on the tags, attributes, and parameters that you can use in a SMIL file definition, see Appendix: Understanding SMIL file syntax.

    Live playback

    You can use the SMIL file to play the highest bandwidth stream that the client processor and connection will support. The client player determines which stream to play, depending on network and processor capabilities. If you use the installed live application, the source of the stream is the SMIL file in the default content store: [install-dir]/content. The URL syntax varies depending on the type of player.

    Adobe Flash Player (San Jose/Adobe HDS)
    URL: http://[wowza-ip-address]:1935/live/smil:myStream.smil/manifest.f4m

    Apple iOS device (Cupertino/Apple HLS)
    URL: http://[wowza-ip-address]:1935/live/smil:myStream.smil/playlist.m3u8

    Microsoft Silverlight (Smooth Streaming)
    URL: http://[wowza-ip-address]:1935/live/smil:myStream.smil/Manifest

    MPEG-DASH
    http://[wowza-ip-address]:1935/live/smil:myStream.smil/manifest.mpd

    Adobe Flash Player (RTMP)
    See RTMP.

    Live playback in Streaming Engine Manager


    In the following example the Server is the [wowza-ip-address] or domain name of the server that's running the Streaming Engine software. For the form of various player protocols, refer to the URL syntax in the previous section.

    In Streaming Engine Manager, click Test Players in the upper-right corner of the live application page. The Test Players window that opens includes test players that are preconfigured to stream the live stream named myStream over various streaming formats.

    Each tab in the Test Players window either hosts a test player that you can use to play the live stream or provides instructions for playing the stream. For example, to use the Adobe HDS protocol to play the myStream.smil streams, click the Adobe HDS tab, enter the information below, and then click Start.

    • Server: Enter [wowza-ip-address]:1935.

    • Application: Enter live.

    • Stream: Enter smil:myStream.smil.




    The result when using the Adobe HDS tab on the player is the following URL:

    http://[wowza-ip-address]:1935/live/smil:myStream.smil/manifest.f4m

    The test players are also online on our Video Test Players webpage.

    Special considerations for Microsoft Smooth Streaming and Adobe RTMP


    Adaptive bitrate streaming for Smooth Streaming and RTMP may require settings beyond those for other protocols as described in previous sections. See the following sections for details.

    Smooth Streaming Audio

    Microsoft Smooth Streaming adaptive bitrate streaming doesn't switch audio tracks; it uses the first stream listed in the <switch> container.

    Note: The Microsoft Silverlight player requires that both audio and video be present for playback.

    VOD


    If you want to use a file other than the first file for the audio track for streams listed in a VOD SMIL file, add an <audio> entry to the <switch> container for that item. For example:
    <?xml version="1.0" encoding="UTF-8"?>
    <smil title="">
    	<body>
    		<switch>
    			<video height="240" src="bigbuckbunny_450.mp4" systemLanguage="eng" width="424">
    				<param name="videoBitrate" value="450000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<video height="360" src="bigbuckbunny_750.mp4" systemLanguage="eng" width="640">
    				<param name="videoBitrate" value="750000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<video height="720" src="bigbuckbunny_1100.mp4" systemLanguage="eng" width="1272">
    				<param name="videoBitrate" value="1100000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<video height="900" src="bigbuckbunny_1500.mp4" systemLanguage="eng" width="1590">
    				<param name="videoBitrate" value="1500000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<audio>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</audio>
    		</switch>
    	</body>
    </smil>

    Live


    If you want to use a stream other than the first stream for the audio track for streams listed in a live SMIL file, add an <audio> entry to the <switch> container for that item. For example:
    <?xml version="1.0" encoding="UTF-8"?>
    <smil title="SMIL file for live streaming">
    	<body>
    		<switch>
    			<video height="240" src="myStream_200" systemLanguage="eng" width="424">
    				<param name="videoBitrate" value="200000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<video height="360" src="myStream_350" systemLanguage="eng" width="640">
    				<param name="videoBitrate" value="350000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<video height="720" src="myStream_700" systemLanguage="eng" width="1272">
    				<param name="videoBitrate" value="700000" valuetype="data"></param>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</video>
    			<audio>
    				<param name="audioBitrate" value="44100" valuetype="data"></param>
    			</audio>
    		</switch>
    	</body>
    </smil>
    Notes:
    • The <audio> item is ignored or redundant when streaming using Adobe HDS (San Jose), Apple HLS (Cupertino), or MPEG-DASH.

    • JW Player and Flowplayer use a client-side XML file to reference each stream rendition, not the server-side SMIL file that's shown in this tutorial. They both also use the BWCheck module.

    Smooth Streaming bitrates specification

    By default, Microsoft Smooth Streaming inspects your streaming file and dynamically calculates video and audio bitrates for the manifest data. If you want to configure Wowza Streaming Engine to use the bitrates in the SMIL file, add the custom property smoothStreamingUseSMILBitrates.

    Configure Smooth Streaming bitrates specification in Streaming Engine Manager


    You can use the smoothStreamingUseSMILBitrates property to configure Wowza Streaming Engine to use the bitrates in the SMIL file instead of calculating values for the manifest.

    For details about how to configure custom properties, see Configure properties.

    Note: Access to the Properties tab in Streaming Engine Manager is limited to administrators with advanced permissions. For more information, see Manage credentials.
    Path
    Name
    Type
    Value
    /Root/Application/HTTPStreamer smoothStreamingUseSMILBitrates Boolean true

    When running in this mode, if the smoothStreamingUseSMILBitrates property is set to true, Wowza Streaming Engine will use the values specified in the SMIL file and won't calculate bitrate values for the manifest.

    Configure Smooth Streaming bitrates specification in XML


    Note: If you configured the smoothStreamingUseSMILBitrates property in Streaming Engine Manager, skip this section. If you make changes to Application.xml and you're using the Wowza Streaming Engine™ software, any supported settings will be displayed in the manager the next time it's started. Wowza Media Server™ software doesn't support Wowza Streaming Engine Manager, so you must edit Application.xml in a text editor if you're running Wowza Media Server.
    Add the following property to the HTTPStreamer/Properties container in [install-dir]/conf/[application]/Application.xml (be sure to get the correct Properties container; there are several in the Application.xml file):
    <Property>
        <Name>smoothStreamingUseSMILBitrates</Name>
        <Value>true</Value>
        <Type>Boolean</Type>
    </Property>

    RTMP

    Dynamic streaming for Adobe Flash requires a fair amount of work on the client-side. The following articles on the Adobe site provide details about how to achieve dynamic streaming in Flash:

    Dynamic streaming in Flash (part 1)
    Dynamic streaming in Flash (part 2)
    Dynamic streaming in Flash (part 3)

    When you use Adobe HTTP Dynamic Streaming (Adobe HDS) with Wowza Streaming Engine to stream, turn on dynamic stream markers. This will provide you more accurate, dynamically updated bitrate calculations (in most cases). To turn on dynamic stream markers, edit [install-dir]/conf/[application]/Application.xml and add the following property to the Streams/Properties container (be sure to get the correct Properties container; there are several in the Application.xml file):
    <Property>
        <Name>enableDynamicStreamMarkers</Name>
        <Value>true</Value>
        <Type>Boolean</Type>
    </Property>

    More resources



    Appendix: Understanding SMIL file syntax


    Wowza Streaming Engine supports simple XML-based SMIL file formatting with additional custom elements not specified by the SMIL standard.

    Notes:
    • Arrange your streams in a desirable order in your SMIL file as Wowza Streaming Engine creates a manifest with renditions listed in the same order as they are read from the SMIL file <switch> container. The first stream in the manifest is selected first by players. For example, to ensure that a player selects and plays the highest bitrate stream that it can, given current network conditions and its available CPU resources, arrange the streams from the highest to lowest bitrate.

    • To ensure that the SMIL file will be compatible with all HTTP streaming protocols, you must define at least one bitrate attribute or parameter in each <video> definition.

    • Not all parameters are supported by all streaming protocols. For example, roles are only used for MPEG-DASH streams.

    SMIL file format


    The following is an example of the SMIL file format used by Wowza Streaming Engine:
    <smil>    
        <head></head>
        <body>
            <switch>
                <video src="[source-name]" [attribute_name]="[value]" [attribute_name]="[value]"> 
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                </video>
                <video src="[source-name]" [attribute_name]="[value]" [attribute_name]="[value]"> 
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                </video>
                <video src="[source-name]" [attribute_name]="[value]" [attribute_name]="[value]"> 
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                    <param name="[param_name]" value="[value]" valuetype="data"/>
                </video>
            </switch>
        </body>
    </smil>

    SMIL file elements


    The following table explains the various tags and properties found in a typical SMIL file definition:

    SMIL file element Description
    <switch>/<video> Each media entry is contained in a <video> element within a <switch> element.
    src The name of the media file (for example, sample.mp4) or live source stream.
    [attribute_name] Optional attributes that are used to customize audio and video characteristics of a <video> definition. For more information, see the tables below.
    <param> Optional parameters containing a name and value that are used to customize audio and video characteristics of a media source. For more information, see the tables below.

    SMIL file attributes


    The following table contains descriptions of common <video> attributes you can use in a SMIL file video definition:

    Attribute Type Description
    systemLanguage String (3-letter language code) The language of the audio or video track within the media.
    system-bitrate Integer The sum of the audio and video tracks within the media. Can also be used as a parameter (systemBitrate). Note: This parameter is ignored when used with MPEG-DASH streams.
    audio-bitrate Integer The bitrate of the audio track(s) within the media entry. Can also be used as a parameter (audioBitrate).
    video-bitrate Integer The bitrate of the video track(s) within the media entry. Can also be used as a parameter (videoBitrate).
    width Integer The display width of the video track within the media.
    height Integer The display height of the video track within the media.
    title String The title of the media entry.
    begin Integer The position (in milliseconds) in the stream at which to begin playback. Use with dur to play a specific section of the source media.
    dur Integer The duration (in seconds) of the stream interval that you want to play. Use with begin to play a specific section of the source media.

    SMIL file parameters


    The following table contains descriptions of common <video> parameters you can use in a SMIL file video definition:

    Parameter Type Description
    audioOnly Boolean Causes the default audio track to be used while all video tracks in the media are ignored.
    videoOnly Boolean Causes the default video track to be used while all audio tracks in the media are ignored.
    audioCodecID String The codec ID of the default audio track in this media entry. If you're unsure of the correct codec strings, don't specify an audioCodecId and Wowza Streaming Engine will generate the correct IDs automatically.
    videoCodecID String The codec ID of the default video track in this media entry. If you're unsure of the correct codec strings, don't specify an audioCodecId and Wowza Streaming Engine will generate the correct IDs automatically.
    role String The intended role of all audio and video tracks in the media file. Set to main to mark the primary language track or set to dub to mark the secondary language track.
    audioRole String The intended role of the default audio track in the media entry. Set to main to mark the primary language track or set to dub to mark the secondary language track.
    videoRole String The intended role of the default video track in the media entry. Set to main to mark the primary language track or set to dub to mark the secondary language track.
    keyFrameOnly Boolean If true, Wowza Streaming Engine will reduce the CPU load by displaying only keyframes in the stream's source media.

    Originally Published: 10-30-2013.
    Updated: For Wowza Streaming Engine 4.2.0 on 06-16-2015.

    If you're having problems or want to discuss this article, post in our forum.