MPEG DASH > 30 delay in stream

Hey guys, I’m using FFMPEG to stream video to my Wowza server running on my local machine. I’m getting about a 30 second delay from what is shows in the DASH player vs what is seen from my cam. Any ideas on how to improve this?

I’ve tried changing the GOP size in ffmpeg to be lower, but it didn’t seem to help. Here’s my FFMPEG command:

ffmpeg -f dshow -i video=“Microsoft LifeCam Cinema”:audio=“Desktop Microphone (2- Cinema -” -c:v libx264 -vb 150000 -g 60 -level 3.1 -c:a aac -ab 64000 -ar 48000 -ac 2 -strict experimental -f flv rtmp://localhost/html5/myStream

I’ve noticed that Wowza seems to maintain about 4 chunks at a time. Each looking like the duration is around 10000 (10 sec). I’m guessing that’s the reason I’m getting a ‘delay’? I’m just seeing the older chunks as opposed to the newest one?

Hi,

All HTTP clients have a delay, Wowza has to create chunks from the live stream and the device will require a set number of chunks before it’s able to play the stream.

With Apple iOS devices the requirement is 3 chunks which have a 10 seconds duration by default, leaving you with approximately 30 seconds of delay.

This will be similar for MPEG-DASH however we can’t alter the chunk duration for MPEG-DASH at this time meaning the delay currently can’t be reduced.

30 seconds is an expected delay for a HTTP client without adjusting the packetization.

Jason

I can not find any documentation supporting “chunkDurationTarget” for MPEG DASH. I would have to say this feature is not supported at present.

You can look at this article as an example:

How to configure Apple HTTP Live Streaming packetization (cupertinostreaming)

But these properties are not available at present for MPEG DASH, to my knowledge.

Salvadore

Thanks for the info Salvadore.

So is anyone else trying to use MPEG-DASH? Are you getting similar results? Is the 30sec delay expected even for a live stream?

Hi,

All HTTP clients have a delay, Wowza has to create chunks from the live stream and the device will require a set number of chunks before it’s able to play the stream.

With Apple iOS devices the requirement is 3 chunks which have a 10 seconds duration by default, leaving you with approximately 30 seconds of delay.

This will be similar for MPEG-DASH however we can’t alter the chunk duration for MPEG-DASH at this time meaning the delay currently can’t be reduced.

30 seconds is an expected delay for a HTTP client without adjusting the packetization.

Jason

Hello,

is there alredy a solution for this question? Is Wowza just allow to alter the chunck duration for a minimum acceptable?

Hi

You can set the chunk duration target for MPEG-DASH packetization since Wowza Streaming Engine 4.0.1. Please see the release notes for more information. You can also check the streaming guide for MPEG-DASH packetization on how to configure this property.

Michelle

Hi,

All HTTP clients have a delay, Wowza has to create chunks from the live stream and the device will require a set number of chunks before it’s able to play the stream.

With Apple iOS devices the requirement is 3 chunks which have a 10 seconds duration by default, leaving you with approximately 30 seconds of delay.

This will be similar for MPEG-DASH however we can’t alter the chunk duration for MPEG-DASH at this time meaning the delay currently can’t be reduced.

30 seconds is an expected delay for a HTTP client without adjusting the packetization.

Jason

Hi,

Are you still working on chunk duration for MPEG-DASH?

Thanks