Wowza Community

MPEG-DASH live streaming using WOWZA server 3.6.2

Hi,

We are trying to set-up live dash streaming using WOWZA server 3.6.2 . Currently we are using VLC as a live encoder source. We are able to successfully set up the live server and able to playout the live stream in our client. When we try to set up multi-bitrate live setup bitrate (bandwidth)information in the mpd is coming out as a fixed value for all representations.

Sample live MPD file period portion :

[HTML]

[/HTML]

My smil file :

<smil>
    <head>
    </head>
    <body>
        <switch>
			<video src="myStream_1500.stream" system-bitrate="2036000"/>
            <video src="myStream_1100.stream" system-bitrate="1385000"/>
            <audio src="myStream_1100.stream" system-bitrate="130000"/>
        </switch>
    </body>
</smil>

Can you please let me know if i need to set any thing specific to dash while setting up the attribute in application.xml or in any other xml file. I had come across specific settings to be done to smooth streaming and Dynamic streaming in Flash as below

For smooth streaming

<Property>
    <Name>smoothStreamingUseSMILBitrates</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
</Property>

For Dynamic streaming in Flash

<Property>
    <Name>enableDynamicStreamMarkers</Name>
    <Value>true</Value>
    <Type>Boolean</Type>
</Property>

PS: I was able to set up abr on-demand set up and successfully play out the streams. There the bandwidth values in representation is proper.

Thanks in advance

With MPEG-Dash there is no need for a .smil file.

The content is made available at a variety of different bit rates. As the content is played back by an MPEG-DASH client, the client automatically selects from the alternatives, the next segment to download and play back based on current network conditions. The client selects the segment with the highest bit rate possible that can be downloaded in time for play back without causing stalls or rebuffering events in the playback. Thus, an MPEG-DASH client can seamlessly adapt to changing network conditions, and provide high quality play back without stalls or rebuffering events. Thus, an MPEG-DASH client can seamlessly adapt to changing network conditions.

Salvadore

We have multiple channels that stream with our CDN linke Wowza infrastructure, and it’s impossible to manually set a .smil file for every live feed.

We’ve managed to build our own .f4m and .m3u8 manifests in order to achieve multi-bitrate, but the .mpd manifests are hard to crack.

It is possible to access media chunks on the server by providing an absolute URL to them, something like media=“http://PATH_TO_WOWZA/chunk_ctvideo_cfm4s_rid$RepresentationID$_cs$Time$_w432513885_mpd.m4s”, and the $RepresentationID$ is actually the feed index but we can’t guess the SegmentTimeline.

Is there any way to programmatically build an .mpd manifest? If yes, can someone point us in the right direction?

Hi,

Please take a look at the article below which may answer some of your questions

How to use Java API calls to resolve SMIL file requests

Jason

.smil file is required by WOWZA server to create a MPD for MPEG-DASH . Based on this file WOWZA server creates a MPD with different bitrate that are mentioned in the .smil file.

The resolution for this post is suggested by WOWZA support team is as below

change these lines:

<video src="myStream_1500.stream" system-bitrate="2036000"/>
<video src="myStream_1100.stream" system-bitrate="1385000"/>
<audio src="myStream_1100.stream" system-bitrate="130000"/>

to this:

<video src="myStream_1500.stream" system-bitrate="2036000" video-bitrate="2036000"/>
<video src="myStream_1100.stream" system-bitrate="1385000" video-bitrate="1385000"/>
<audio src="myStream_1100.stream" system-bitrate="130000" audio-bitrate="130000"/>

or just to this:

<video src="myStream_1500.stream" video-bitrate="2036000"/>
<video src="myStream_1100.stream" video-bitrate="1385000"/>
<audio src="myStream_1100.stream" audio-bitrate="130000"/>