Wowza Community

MediaCache + nDVR with Wowza 4.0.6

Hi,

We’re currently evaluating Wowza 4.0.6 with our setup and it appears that the MediaCache add-on is not able to cache the chunks when used with an nDVR liverepeater origin-edge setup.

The logs indicate that the add-on has been enabled:

2014-09-04 18:48:05 INFO server comment - DvrStreamManagerBase.initProperties[live/_definst_/dvrtest] : {Properties: dvrMediaCacheEnabled: true, cupertinoCreateAudioOnlyRendition: true, isDvrPacketizer: true}

But it doesn’t write anything to disk and we see the following error in the logs:

2014-09-04 18:48:50 WARN server comment - DvrStreamStoreBase.retrieveChunkFromMediaCache[live/_definst_/dvrtest/dvrtest.5] : Unable to get DVR chunks from any of the origin urls:
2014-09-04 18:48:50 WARN server comment - DvrStreamStoreBase.retrieveChunkFromMediaCache[live/_definst_/dvrtest/dvrtest.5] :   url: http://xxx.xxx.com:1935/origin/_definst_/dvrtest

Are the instructions listed here still valid for 4.x?

https://www.wowza.com/docs/how-to-configure-mediacache-for-wowza-ndvr

We also had to add the following listener to Server.xml in our 3.6.2 setup (which works fine):

<ServerListener>
                <BaseClass>com.wowza.wms.plugin.mediacache.impl.MediaCacheServerListener</BaseClass>
            </ServerListener>>

Are they any additional steps that need to be performed to get the MediaCache to actually write to disk after upgrading to 4.x? For instance, in 4.x I see that the Application.xml file has the following new property:

<MediaCache>
<MediaCacheSourceList></MediaCacheSourceList>
</MediaCache> 

Should this be populated?

Thanks

Hi,

To use MediaCache the MediaCacheSourceList does have to be populated. by default (when creating a VODEdge application) this is populated with “*” like this:

<MediaCache>
	<MediaCacheSourceList>*</MediaCacheSourceList>
</MediaCache>

The MediaCacheSource called dvrorigin is created by default and can’t be removed.

You need to have nDVR enabled at the origin application.

For the load balancer, please see this article - How to get Dynamic Load Balancing AddOn

Regards,

Jason

Thanks Jason. I figured out the problem. The package for the MediaCache module has changed from Wowza 3.x to 4.x. In 3.x, we were using the following listener:

            <ServerListener>
                <BaseClass>com.wowza.wms.plugin.mediacache.impl.MediaCacheServerListener</BaseClass>
            </ServerListener>

But in 4.x, the BaseClass is com.wowza.wms.mediacache.impl.MediaCacheServerListener. Adding the following listener to Server.xml worked:

            <ServerListener>
                <BaseClass>com.wowza.wms.mediacache.impl.MediaCacheServerListener</BaseClass>
            </ServerListener>

I couldn’t find this documented anywhere. Would be helpful to do so.

Vijay

Hi,

Does Wowza support nDVR with MPEG-DASH? I see that it’s listed as a supported protocol here: https://www.wowza.com/docs/wowza-ndvr, but there is no mention of it in https://www.wowza.com/docs/how-to-set-up-and-run-wowza-ndvr-for-live-streaming or https://www.wowza.com/docs/how-to-set-up-live-stream-repeater-for-use-with-wowza-ndvr-origin-edge.

When I tried to play back an nDVR stream from a live repeater edge using MPEG-DASH, I get the following error:

ERROR server comment - HTTPStreamerAdapterBase.determineStreamVersion[dvr-edge/_definst_/dvrtest] : Exception throw.  streamName:dvrtest: java.lang.NullPointerException|at com.wowza.wms.httpstreamer.model.HTTPStreamerAdapterBase.determineDvrStreamVersion(HTTPStreamerAdapterBase.java:326)|at com.wowza.wms.httpstreamer.mpegdashstreaming.httpstreamer.HTTPStreamerAdapterMPEGDashStreamer.onManifest(HTTPStreamerAdapterMPEGDashStreamer.java:556)|at com.wowza.wms.httpstreamer.mpegdashstreaming.httpstreamer.HTTPStreamerAdapterMPEGDashStreamer.serviceMsg(HTTPStreamerAdapterMPEGDashStreamer.java:220)|at com.wowza.wms.httpstreamer.mpegdashstreaming.httpstreamer.HTTPStreamerAdapterMPEGDashStreamer.service(HTTPStreamerAdapterMPEGDashStreamer.java:109)|at com.wowza.wms.server.ServerHandler.a(ServerHandler.java:636)|

The other HTTP protocols work fine however. If nDVR should work with MPEG-DASH, could you please point me to instructions on how to enable it?

Thanks.

Thanks Jason.

Hi,

Currently nDVR does not work with the MPEG-DASH Player, however I will add this feature request to our backlog on your behalf. Features which are added to our backlog are reviewed and considered for future versions of Wowza Streaming Engine. At this time I can’t confirm if the feature will be approved and if so, any time-scales for it’s availability.

Thanks for the feedback.

Regards,

Jason

Hi,

Thank you for the update. I’m glad you managed to get it sorted out.

I will forward your suggestion to our Product management team and suggest to include the XML configuration instructions for MediaCache in the “How to scale video on demand streaming with Media Cache” forum article.

Zoran