Mpeg Dash Live Streaming Stream keeps stopping in Dash.JS. Shaka no good in FF

Hi I’ve discovered some strange problems using Dash.JS with wowza. The stream keeps stopping in Chrome, Firefox , Safari.

In the logs it’s stops around here. Its like a frame drop but not. Audio cuts out also.

In Chrome it starts playback then suddenly jumps ahead after a couple of seconds to the live time so the frame skips. All the browsers are doing with with a blocky picture on startup.

I lose audio and most of the time the video will stop completely when I get to these logs

"[6064] Parsing complete: ( xml2json: 9.51ms, objectiron: 6.34ms, total: 0.0159s)

dash-6.0.4.js:6 [6065] Manifest has been refreshed at Thu Jun 16 2016 18:24:47 GMT+1000 (AEST)[1466065487.666]

dash-6.0.4.js:6 [6067] SegmentTimeline detected using calculated Live Edge Time

dash-6.0.4.js:6 [6070] Manifest updated… updating data system wide.

dash-6.0.4.js:6 [6072] Added 0 inline events "

The stopping is intermittent on Chrome and Firefox but happening all the time in Safari. Shaka player doesn’t even work in Safari or Firefox. No playback happens at all.

I had to force Flash media encoder to use a baseline codec as it defaults to main. If I use main it causes a MEDIA_DECODE_ERROR on Safari and Firefox.

Any ideas ? It seems totally broken apart from partially working on Chrome.

Also is it a requirement to set a baseline codec then for the encoders ? VOD Wowza is fine even with main and high codec profiles on Safari and Firefox ??

Let me know before I have to consult dash.js. It’s possible we might need to choose a HDS source as fallback for now ?

My source url looks like http://localhost:1935/ulive/liveevent/manifest_mpmpm4sav_mvmvtime.mpd

Hi Andrew. Sorry about the late reply. My seeking and artifacts issue was fixed with VOD dash. Its smooth as far as I can see.

Live streaming especially repeaters is a problem.

I tried to test a live repeater to an origin. HLS is ok and the embedded captions show up. However mpeg dash has massive problems.

Hi I just updated to 4.5 to check issues with dash were fixed and the stream has embedded 608 captions which is possibly causing bugs. I get this

ERROR server comment - MPEGDashRepeaterHolder.deserialize : java.lang.NegativeArraySizeException|at com.wowza.wms.amf.AMFPacket.deserializePacket(AMFPacket.java:612)|at com.wowza.wms.httpstreamer.mpegdashstreaming.livestreampacketizer.MPEGDashRepeaterHolder.deserialize(MPEGDashRepeaterHolder.java:220)|at com.wowza.wms.httpstreamer.mpegdashstreaming.liverepeater.MPEGDashStreamerLiveRepeaterReceiver.addVideoData(MPEGDashStreamerLiveRepeaterReceiver.java:203)|at com.wowza.wms.stream.live.MediaStreamLiveAbstract.addVideoData(MediaStreamLiveAbstract.java:74)|at com.wowza.wms.netconnection.NetConnectionProcessData.processNextRequest(NetConnectionProcessData.java:493)|

ERROR server comment - MPEGDashRepeaterHolder.deserialize : java.lang.ArrayIndexOutOfBoundsException|at java.lang.System.arraycopy(Native Method)|at com.wowza.wms.amf.AMFPacket.deserializePacket(AMFPacket.java:613)|at com.wowza.wms.httpstreamer.mpegdashstreaming.livestreampacketizer.MPEGDashRepeaterHolder.deserialize(MPEGDashRepeaterHolder.java:220)|at com.wowza.wms.httpstreamer.mpegdashstreaming.liverepeater.MPEGDashStreamerLiveRepeaterReceiver.addVideoData(MPEGDashStreamerLiveRepeaterReceiver.java:203)|at com.wowza.wms.stream.live.MediaStreamLiveAbstract.addVideoData(MediaStreamLiveAbstract.java:74)|

ERROR server comment - MPEGDashRepeaterHolder.deserialize : java.lang.NegativeArraySizeException|at com.wowza.wms.amf.AMFPacket.deserializePacket(AMFPacket.java:612)|at com.wowza.wms.httpstreamer.mpegdashstreaming.livestreampacketizer.MPEGDashRepeaterHolder.deserialize(MPEGDashRepeaterHolder.java:220)|at com.wowza.wms.httpstreamer.mpegdashstreaming.liverepeater.MPEGDashStreamerLiveRepeaterReceiver.addVideoData(MPEGDashStreamerLiveRepeaterReceiver.java:203)|at com.wowza.wms.stream.live.MediaStreamLiveAbstract.addVideoData(MediaStreamLiveAbstract.java:74)|at com.wowza.wms.netconnection.NetConnectionProcessData.processNextRequest(NetConnectionProcessData.java:493)|

ERROR server comment - MPEGDashRepeaterHolder.deserialize : java.lang.NegativeArraySizeException|at com.wowza.wms.amf.AMFPacket.deserializePacket(AMFPacket.java:612)|at com.wowza.wms.httpstreamer.mpegdashstreaming.livestreampacketizer.MPEGDashRepeaterHolder.deserialize(MPEGDashRepeaterHolder.java:220)|at com.wowza.wms.httpstreamer.mpegdashstreaming.liverepeater.MPEGDashStreamerLiveRepeaterReceiver.addVideoData(MPEGDashStreamerLiveRepeaterReceiver.java:203)|at com.wowza.wms.stream.live.MediaStreamLiveAbstract.addVideoData(MediaStreamLiveAbstract.java:74)|at com.wowza.wms.netconnection.NetConnectionProcessData.processNextRequest(NetConnectionProcessData.java:493)|

I get this and it keeps repeating on the console.

It’s a stream on a live edge to a live origin using the mpegdash repeater. Does the origin need to be updated to 4.5 also ? I’m assuming packetising happens on the edge and not the origin right ? I can’t show the stream until the server is updated.

My url looks like this is this the right endpoint ?

http://localhost:1935/live/2086-828d4b5/liveevent/manifest_mpmpm4sav_mvmvtime.mpd

Simply calling that url on the browser triggers the console errors.

I’ve successfully tested a live origin publish locally. Frames are smooth and no frame dropping. There is no jerky startup either.

If this bug has something to do with embedded captions for live dash then not sure what to do about that. There is a thread here regards to captions in live dash streams. It wasn’t doing it in the previous version anyway. hopefully the origin doesn’t need to also be updated ?

I’ll confirm an issue I had with VOD with injected captions from an srt file also.

I’m trying to get captions injected. if I use SRT I get this error

ERROR server comment - HTTPStreamerAdapterMPEGDashStreamer.onSubtitleList : java.lang.NumberFormatException: null|at java.lang.Long.parseLong(Long.java:552)|at java.lang.Long.parseLong(Long.java:631)|at com.wowza.wms.httpstreamer.mpegdashstreaming.file.HTTPStreamerMPEGDashIndex.getItemForRepresentation(HTTPStreamerMPEGDashIndex.java:219)|at com.wowza.wms.httpstreamer.mpegdashstreaming.httpstreamer.HTTPStreamerAdapterMPEGDashStreamer.onSubtitleList(HTTPStreamerAdapterMPEGDashStreamer.java:1966)|at com.wowza.wms.httpstreamer.mpegdashstreaming.httpstreamer.HTTPStreamerAdapterMPEGDashStreamer.serviceMsg(HTTPStreamerAdapterMPEGDashStreamer.java:227)|

on the dash player side I get

dash-6.0.4.js:10 GET http://localhost:1935/vod/definst/mp4:sintel_600k_captions.mp4/subtitles_leng_webvttsublist.m4s 404 (Not Found)c @ dash-6.0.4.js:10d @ dash-6.0.4.js:10d @ dash-6.0.4.js:8r @ dash-6.0.4.js:13l @ dash-6.0.4.js:13i @ dash-6.0.4.js:11Q @ dash-6.0.4.js:11(anonymous function) @ dash-6.0.4.js:6c @ dash-6.0.4.js:6l @ dash-6.0.4.js:12(anonymous function) @ dash-6.0.4.js:6c @ dash-6.0.4.js:6n @ dash-6.0.4.js:7B @ dash-6.0.4.js:6B @ dash-6.0.4.js:9N @ dash-6.0.4.js:9P @ dash-6.0.4.js:9Q @ dash-6.0.4.js:9d @ dash-6.0.4.js:9b @ dash-6.0.4.js:12

dash-6.0.4.js:10 XHR finished loading: GET “http://localhost:1935/vod/definst/mp4:sintel_600k_captions.mp4/subtitles_leng_webvttsublist.m4s”.

Same with VTT

INFO server comment - VODTimedTextDelegateBase.determineCaptionLanguages[vod/definst/sintel_600k.mp4]: Provider vodcaptionproviderwebvtt supported languages:[eng]

INFO server comment - VODTimedTextDelegateBase.determineCaptionLanguages[vod/definst/sintel_600k.mp4]: Found lang:eng provider:vodcaptionproviderwebvtt

INFO server comment - VODTimedTextDelegateBase.determineCaptionLanguages[vod/definst/sintel_600k.mp4]: Reached maximum languages. Stop looking.

ERROR server comment - HTTPStreamerAdapterMPEGDashStreamer.onSubtitleList : java.lang.NumberFormatException: null|at java.lang.Long.parseLong(Long.java:552)|at java.lang.Long.parseLong(Long.java:631)|at com.wowza.wms.httpstreamer.mpegdashstreaming.file.HTTPStreamerMPEGDashIndex.getItemForRepresentation(HTTPStreamerMPEGDashIndex.java:219)|at com.wowza.wms.httpstreamer.mpegdashstreaming.httpstreamer.HTTPStreamerAdapterMPEGDashStreamer.onSubtitleList(HTTPStreamerAdapterMPEGDashStreamer.java:1966)|at com.wowza.wms.httpstreamer.mpegdashstreaming.httpstreamer.HTTPStreamerAdapterMPEGDashStreamer.serviceMsg(HTTPStreamerAdapterMPEGDashStreamer.java:227)|

The previous version with injected captions showing even with a multi bitrate smil is working the current version is broken

http://media11.uvault.com/play/2090/dash/smil:sintel_captions.smil/manifest_mpmpm4sav_mvmvtime.mpd

Same files.

The smil looks like this inside to bring up a caption of the same name

So some things are a miss there.

Its also not showing up fore HLS also but no console error for that.

I got more logging enabled for this. No error for HLS but doesn’t show up.

INFO server comment - VODTimedTextProviderBase.indexTimedText[vod/definst/sintel_600k_captions.mp4:vodcaptionproviderttml] caption file:/Library/WowzaStreamingEngine/content/sintel_600k_captions.ttml does not exist.

INFO server comment - VODTimedTextProviderBase.indexTimedText[vod/definst/sintel_600k_captions.mp4:vodcaptionprovidersrt] using file:/Library/WowzaStreamingEngine/content/sintel_600k_captions.srt for captions (VOD:/Library/WowzaStreamingEngine/content/sintel_600k_captions.mp4)

INFO server comment - VODTimedTextProviderBase.indexTimedText[vod/definst/sintel_600k_captions.mp4:vodcaptionproviderwebvtt] caption file:/Library/WowzaStreamingEngine/content/sintel_600k_captions.webvtt does not exist.

INFO server comment - VODTimedTextProviderBase.indexTimedText[vod/definst/sintel_600k_captions.mp4:vodcaptionproviderwebvtt] caption file:/Library/WowzaStreamingEngine/content/sintel_600k_captions.vtt does not exist.

INFO server comment - VODTimedTextDelegateBase.determineCaptionLanguages[vod/definst/sintel_600k_captions.mp4]: available providers: [vodcaptionprovidersrt]

INFO server comment - VODTimedTextDelegateBase.determineCaptionLanguages[vod/definst/sintel_600k_captions.mp4]: by property:*

INFO server comment - VODTimedTextDelegateBase.determineCaptionLanguages[vod/definst/sintel_600k_captions.mp4]: Provider vodcaptionprovidersrt supported languages:[eng]

INFO server comment - VODTimedTextDelegateBase.determineCaptionLanguages[vod/definst/sintel_600k_captions.mp4]: Found lang:eng provider:vodcaptionprovidersrt

INFO server comment - VODTimedTextDelegateBase.determineCaptionLanguages[vod/definst/sintel_600k_captions.mp4]: Reached maximum languages. Stop looking.

ERROR server comment - HTTPStreamerAdapterMPEGDashStreamer.onSubtitleList : java.lang.NumberFormatException: null|at java.lang.Long.parseLong(Long.java:552)|at java.lang.Long.parseLong(Long.java:631)|at com.wowza.wms.httpstreamer.mpegdashstreaming.file.HTTPStreamerMPEGDashIndex.getItemForRepresentation(HTTPStreamerMPEGDashIndex.java:219)|at com.wowza.wms.httpstreamer.mpegdashstreaming.httpstreamer.HTTPStreamerAdapterMPEGDashStreamer.onSubtitleList(HTTPStreamerAdapterMPEGDashStreamer.java:1966)|at com.wowza.wms.httpstreamer.mpegdashstreaming.httpstreamer.HTTPStreamerAdapterMPEGDashStreamer.serviceMsg(HTTPStreamerAdapterMPEGDashStreamer.java:227)|

Firstly need to get the live dash repeater working though might have to use sidecar subtitles for VOD.

I’ve tested a local live repeater with dash and no exception errors. It’s either the embedded captions in the stream or the origin also needs to be updated ? Hopefully I can get the live repeater working also with live embedded captions.

This is a pretty nasty set of bugs. I see no progress here. I tried to file a bug report but I couldn’t even get past the password verification to create an account just to file a big report. It is completely broken.

Hi,

The Origin and edge server need to be running the same version of Wowza Streaming Engine. This is recommended in any workflow with origin and edge servers and is not something that’s specific to Dash streaming. When using an Origin/Edge where the edge is a live repeater (Live Edge as per Wowza Streaming Engine Manager) all the packetizing of the streams is done on the origin, so the origin will need to be updated to check any fixes.

Support for this issue will continue in the ticket that has been created (180775).

Regards,

Jason

Hello,

Have you updated to the latest version of Wowza Streaming Engine 4.5.0? There’s a lot of fixes and updates for DASH playback included with this version.

Best regards,

Andrew

Hello,

Same problem here :

error 404 on subtitles_leng_webvttsublist.m4s in the browser and error 500 [HTTPStreamerAdapterMPEGDashStreamer.onSubtitleList : java.lang.NumberFormatException: null|at java.lang.Long.parseLong(Long.java:552)… ] in the wowza logs.

I can’t get closed captions on a mpeg-dash stream (while same stream in HLS is OK). I’m using Wowza streaming engine 4.5.

Does anyone have succeeded in setting closed-captions with vod mpeg-dash ?

Hello,

There is an internal feature request for Closed Captioning with MPEG-DASH, although there’s no time-frame of when this will be added.

Best,

JasonT