'Buffering' for very long

Hi,

I am using nDVR to record a live show. When I play the video on the strobe player, ‘Buffering…’ appears for a very long time.

I have the wowza deployed to EC2 instance. Any idea why the buffering occurs for this long ? Is there a way how I can check what is causing the bottleneck?

Just wanted to say I am also experiencing problems using default Strobe example player.

Its not an actual bandwidth/connection issue, as tested with fast clients.

I will try these 30s+ settings and play around with lowering them. Look forward to getting a decent Adaptive DVR player that works.

Hi,

I am using nDVR to record a live show. When I play the video on the strobe player, ‘Buffering…’ appears for a very long time.

I have the wowza deployed to EC2 instance. Any idea why the buffering occurs for this long ? Is there a way how I can check what is causing the bottleneck?

I suspect its one of these buffer values in StrobeMediaPlayback.html:

var parameters = {
expandedBufferTime: 35,
liveBufferTime: 32,
liveDynamicStreamingBufferTime: 34,
dvrBufferTime: 32,
dvrDynamicStreamingBufferTime: 34,
dynamicStreamBufferTime: 34,
};

We increased these to work around a buffering issue where the Strobe player would fill up its buffer and stop playing. Unfortunately it seems one of them is causing a long time before the video starts playing.

I would tweak those down one at a time and determine which one it is. BTW they are 30 seconds longer than the Strobe defaults.

It’s in my queue to look at but if you figure it out before me, please report back.

Thanks,

Scott

SKIP1FRAME messages from Transcoder indicate it is overworked. Refer to the benchmarks for guidance on max Transcoder sessions for comparable machine:

https://www.wowza.com/docs/wowza-transcoder-performance-benchmark

Richard

i am also having this problem when using the transcoder addon, the strobe player works great with a regular stream not being transcoded. i get alot of buffering and the picture never changes when i move the camera like its stuck. and i get alot of this in the wowza logs:

2012-01-05 17:16:37 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: SKIP1FRAME - - - 64326.117 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:16:40 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: ALLFRAMESON - - - 64329.251 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:16:50 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: SKIP1FRAME - - - 64339.656 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:16:53 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: ALLFRAMESON - - - 64342.673 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:17:00 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: SKIP1FRAME - - - 64349.179 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:17:04 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: ALLFRAMESON - - - 64353.319 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:17:12 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: SKIP1FRAME - - - 64361.575 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:17:15 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: ALLFRAMESON - - - 64364.755 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:17:34 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: SKIP1FRAME - - - 64383.661 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:17:36 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: ALLFRAMESON - - - 64385.734 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:17:46 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: SKIP1FRAME - - - 64395.209 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:17:48 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: ALLFRAMESON - - - 64397.311 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:18:02 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: SKIP1FRAME - - - 64411.241 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:18:04 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: ALLFRAMESON - - - 64413.388 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:18:16 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: SKIP1FRAME - - - 64425.799 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:18:17 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: ALLFRAMESON - - - 64426.824 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:18:18 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: SKIP1FRAME - - - 64427.86 - - - - - - - - - - - - - - - - - - - - - - - - -

2012-01-05 17:18:19 UTC comment server INFO 200 - TranscodingSession.updateBehindFilter[transcoder/definst/myStream]: Video behind filter state change. New state: ALLFRAMESON - - - 64428.889 - - - - - - - - - - - - - - - - - - - - - - - - -

Any ideas what needs to be adjusted?

Just wanted to say I am also experiencing problems using default Strobe example player.

Its not an actual bandwidth/connection issue, as tested with fast clients.

I will try these 30s+ settings and play around with lowering them. Look forward to getting a decent Adaptive DVR player that works.

If you are having buffering issues, I would do 2 things.

Lower the video keyframe of your input stream. This will create smaller chunks of DVR content that get sent to the Strobe player. 2-3 seconds seems to be a good size.

Then lower the dvr settings in the html to be approx:

dvrBufferTime: (1-2 times video keyframe seconds),

dvrDynamicStreamingBufferTime: (2-3 times keyframe),

If you experience the stream stopping in Strobe, you will need to increase the values a bit.

I’ve not experimented extensively but this rule of thumb works for me.

Check that your server is properly tuned per the Tuning Guide. If the same messages continue, then it is an indication that the server is being overworked and can’t process the packets in time.

-Lisa

I have the same problem:

Server: Dell R610, dual processors E5645 6/12, 12GB RAM without CUDA.

Input: HD Signal 9MBits H.264 (video with a lot of movement)

Output: only one stream cupertino 640x360, 850K

Is there anything that I can do for solve this issue?

Regards

INFO server comment - RTPMediaCaster.Reconnector[317263395:live2/definst:off.s

tream]: start: 1

INFO server comment - HTTPStreamManager.onHTTPRequest: Publish stream successful

ly started [live2/definst]: flv:off.stream

INFO server comment - RTPSessionDescriptionDataProviderBasic.getStreamInfo[live2

/definst]: URI: udp://@238.0.0.136:43136

INFO stream create - -

INFO server comment - MulticastTransport.bind[live2/definst]: 238.0.0.136/4313

6

INFO stream publish off.stream -

INFO server comment - ModuleMulticastPublish.onStreamPublish[live2/definst]: o

ff.stream

INFO server comment - RTPMediaCaster.Reconnector[317263395:live2/definst:off.s

tream]: done: 1

INFO server comment - MulticastTransport.firstPacket: 238.0.0.136/43136

INFO server comment - RTPDePacketizerMPEGTS.handleRTPPacket: IMPORT: programID[p

rg:0x8f,filter:none]

INFO server comment - RTPDePacketizerMPEGTS.handleRTPPacket: IMPORT: videoPID[pr

g:0x8f,pid:0x1ae,filter:none]: streamType:H264:27

INFO server comment - RTPDePacketizerMPEGTS.handleRTPPacket: IMPORT: audioPID[pr

g:0x8f,pid:0x1b0,filter:none]: streamType:MP3:3 audioLanguage:eng

INFO server comment - LiveStreamTranscoder.init[live2/definst/off.stream]: Loa

d transcoder template: file:///C:/Program Files (x86)/Wowza Media Systems/Wowza

Media Server 3.0.5/transcoder/templates/off.stream.xml

INFO server comment - JNI:TranscoderSession.isCUDAAvailable[defaultVHost:live2

/definst/off.stream]: NVidia CUDA hardware acceleration is NOT available

INFO server comment - JNI:TranscoderSession.isQuickSyncAvailable[defaultVHost:

live2/definst/off.stream]: Intel Quick Sync hardware acceleration is NOT avail

able

INFO server comment - LiveStreamPacketizerCupertino.init[live2/definst/off.str

eam]: chunkDurationTarget: 10000

INFO stream create - -

INFO server comment - LiveStreamPacketizerCupertino.init[live2/definst/off.str

eam]: chunkDurationTolerance: 500

INFO server comment - ModuleMulticastPublish.onStreamPublish[live2/definst]: o

ff.stream_240p

INFO server comment - LiveStreamPacketizerCupertino.init[live2/definst/off.str

eam]: audioGroupCount: 3

INFO stream publish off.stream_240p -

INFO server comment - LiveStreamPacketizerCupertino.init[live2/definst/off.str

eam]: playlistChunkCount:3

INFO server comment - MediaStreamMap.getLiveStreamPacketizer: Create live stream

packetizer: cupertinostreamingpacketizer:off.stream

INFO stream create - -

INFO server comment - CupertinoPacketHandler.startStream[live2/definst/off.str

eam]

INFO server comment - ModuleMulticastPublish.onStreamPublish[live2/definst]: o

ff.stream_360p

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live2/definst

/off.stream]: Video codec:H264 isCompatible:true

INFO stream publish off.stream_360p -

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live2/definst

/off.stream]: Audio codec:MP3 isCompatible:true

WARN server comment - LiveStreamPacketizerCupertino.handlePacket[live2/definst

/off.stream][mp4a.40.33]: MP3 Audio: Audio is not MPEG1 Layer 3. May not be play

able on iOS devices.

INFO server comment - JNI:TranscoderSession.audioDecoderCreate[defaultVHost:li

ve2/definst/off.stream]: Create audio decoder: MPEG1 Part 1/2: default

INFO server comment - JNI:TranscoderSession.videoDecoderCreate[defaultVHost:li

ve2/definst/off.stream]: Create video decoder: H.264: default

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live2/definst

/off.stream][avc1.100.40]: H.264 (Video may not be playable on older iPhone and

iPod touch devices where Baseline/Level 3.0 or lower is required) Video info: {H

264CodecConfigInfo: codec:H264, profile:High, level:4.0, frameSize:1920x1080, di

splaySize:1920x1080, frameRate:29.97, PAR:1:1, crop: l:0 r:0 t:0 b:2, mbAFF:true

}

INFO transcoder decoder-audio-start off.stream {codec:MP3, objectType:MPEG1LAYER

2, sampleRate:48000, channels:2}

INFO server comment - JNI:TranscoderSession.audioEncoderAdd[defaultVHost:live2

/definst/off.stream:240p]: Create audio encoder: AAC: default

INFO server comment - JNI:TranscoderSession.audioEncoderAdd[defaultVHost:live2

/definst/off.stream:360p]: Create audio encoder: AAC: default

INFO transcoder decoder-video-start off.stream {codec:H264, profile:High, level:

4.0, frameSize:1920x1080, displaySize:1920x1080, frameRate:29.97}

INFO server comment - JNI:AudioDecoderMP2.decodeFirstFrame[defaultVHost:live2/

definst/off.stream]: sampleRate:48000 channels:2

INFO server comment - JNI:AudioEncoderAAC.initialize[defaultVHost:live2/_defin

st_/off.stream:240p]: channels:2 sampleRate:48000 bitRate:96000

INFO server comment - JNI:AudioEncoderAAC.initialize[defaultVHost:live2/_defin

st_/off.stream:360p]: channels:2 sampleRate:48000 bitRate:96000

INFO server comment - JNI:VideoDecoderH264.updateDecodeInfo[defaultVHost:live2

/definst/off.stream]: aspect:16x9 frame:1920x1080 display:1920x1080 frameRate:

29.97

INFO server comment - JNI:TranscoderSession.videoEncoderAdd[defaultVHost:live2

/definst/off.stream:240p]: Create video encoder: H.264: default

INFO transcoder encoder-audio-start off.stream {name:“240p”, bitrate:96000, code

c:AAC, objectType:LC, sampleRate:48000, channels:2}

INFO transcoder encoder-audio-start off.stream {name:“360p”, bitrate:96000, code

c:AAC, objectType:LC, sampleRate:48000, channels:2}

INFO server comment - JNI:TranscoderSession.videoEncoderAdd[defaultVHost:live2

/definst/off.stream:360p]: Create video encoder: H.264: default

INFO server comment - LiveStreamPacketizerCupertino.init[live2/definst/off.str

eam_360p]: chunkDurationTarget: 10000

INFO server comment - LiveStreamPacketizerCupertino.init[live2/definst/off.str

eam_240p]: chunkDurationTarget: 10000

INFO server comment - LiveStreamPacketizerCupertino.init[live2/definst/off.str

eam_360p]: chunkDurationTolerance: 500

INFO server comment - LiveStreamPacketizerCupertino.init[live2/definst/off.str

eam_240p]: chunkDurationTolerance: 500

INFO stream create off.stream_240p -

INFO stream play off.stream_240p -

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live2/definst/o

ff.stream]: Add chunk: id:3 a/v/k:134/375/18 duration:9609

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live2/definst/o

ff.stream_360p]: Add chunk: id:3 a/v/k:156/300/5 duration:10010

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live2/definst/o

ff.stream_240p]: Add chunk: id:3 a/v/k:156/300/5 duration:10010

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live2/definst/o

ff.stream]: Add chunk: id:4 a/v/k:141/426/19 duration:10144

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live2/definst/o

ff.stream_240p]: Add chunk: id:4 a/v/k:156/300/5 duration:10010

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live2/definst/o

ff.stream_360p]: Add chunk: id:4 a/v/k:156/300/5 duration:10010

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live2/definst/o

ff.stream]: Add chunk: id:5 a/v/k:141/425/19 duration:10143

INFO cupertino connect 45666434 -

INFO stream create off.stream_360p -

INFO application app-stop definst live/definst

INFO server comment - ModuleMulticastPublish.onAppStop[live/definst]

INFO cupertino connect 1929454711 -

INFO stream create off.stream_360p -

INFO server comment - TranscodingSession.updateBehindFilter[live2/definst/off.

stream]: Video behind filter state change. New state: SKIP1FRAME

INFO server comment - TranscodingSession.updateBehindFilter[live2/definst/off.

stream]: Video behind filter state change. New state: ALLFRAMESON

INFO server comment - TranscodingSession.updateBehindFilter[live2/definst/off.

stream]: Video behind filter state change. New state: SKIP1FRAME

INFO server comment - TranscodingSession.updateBehindFilter[live2/definst/off.

stream]: Video behind filter state change. New state: ALLFRAMESON

INFO server comment - TranscodingSession.updateBehindFilter[live2/definst/off.

stream]: Video behind filter state change. New state: SKIP1FRAME

INFO server comment - TranscodingSession.updateBehindFilter[live2/definst/off.

stream]: Video behind filter state change. New state: ALLFRAMESON

INFO server comment - TranscodingSession.updateBehindFilter[live2/definst/off.

stream]: Video behind filter state change. New state: SKIP1FRAME

INFO server comment - TranscodingSession.updateBehindFilter[live2/definst/off.

stream]: Video behind filter state change. New state: ALLFRAMESON

INFO server comment - TranscodingSession.updateBehindFilter[live2/definst/off.

stream]: Video behind filter state change. New state: SKIP1FRAME

INFO server comment - TranscodingSession.updateBehindFilter[live2/definst/off.

stream]: Video behind filter state change. New state: ALLFRAMESON

SKIP1FRAME messages from Transcoder indicate it is overworked. Refer to the benchmarks for guidance on max Transcoder sessions for comparable machine:

Transcoder performance benchmark

Richard

Hi Lisa,

Now I am using a DELL R720 2 processor, 16GB RAM and Tesla M2075. The input (IP multicast) is one HD channel 1080i and the output is 3 profiles (1000k, 500k and 300k) and the problem SKIPFRAME still occurs. The output stream is very poor. When I modify the file LiveStreamTranscoders ans set disableTranscoderBehindFilter to true, the SKIPFRAME stop and the output stream is very good BUT the stream freeze sometimes…the GPU % use is about 12%. It´s not hardware problem. Maybe GOP size?

Check that your server is properly tuned per the Tuning Guide. If the same messages continue, then it is an indication that the server is being overworked and can’t process the packets in time.

-Lisa