HLS - cupertino disconnect issues - Stream restarts on iOS devices

Hello,

I am very new to WOWZA and to streaming. I am using Adobe Flash Encoder on the same box as WOWZA. I am pushing a feed to WOWZA with properties listed below and am sending it to my CDN for delivery of RTMP and HLS. My RTMP is running fine but the HLS users are having an issue where they are watching and at one time they just go back minutes to hours and the feed starts over, even at that time sometimes it does it yet again and this happens over and over. We are a church so we run service 4 times a weekend continuous but the service is new every 80 minutes. We usually dont disconnect and reconnect between times we just open the stream and let it go. Today we had a 3 hour straight event with no breaks and do again tomorrow at 6pm EST Sat. April 20th. Any help would be great.

My CDN team said they see this:

We are investigating the stream and we are seeing a tremendous amount of “NetStream.Buffer.Empty” and “NetStream.Buffer.Full” so they kept invalidating the content for me…Later they said because we stream new events back to back If your encoder will allow you to use unique ts file names, or unique chunks, it would help eliminate this type of issue.

I notice about the same time that people report this issue in the WOWZA window I see cupertino disconnects looks like this:

2013-04-19 20:58:02 EDT connect cupertino INFO 200 1100203570 - defaultVHost live10 definst 519.562 66.184.210.226 1935 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8?wowzasessionid=1100203570 207.123.36.9 http (cupertino) - AppleCoreMedia/1.0.0.10B329 (iPhone; U; CPU OS 6_1_3 like Mac OS X; en_us) 1100203570 0 0 - 0 - - stream-LThope wowzasessionid=1100203570 - - - - http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8?wowzasessionid=1100203570 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8 wowzasessionid=1100203570 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8 wowzasessionid=1100203570

2013-04-19 20:58:02 EDT create stream INFO 200 stream-LThope - defaultVHost live10 definst 0.0 66.184.210.226 1935 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8?wowzasessionid=1100203570 207.123.36.9 http (cupertino) - AppleCoreMedia/1.0.0.10B329 (iPhone; U; CPU OS 6_1_3 like Mac OS X; en_us) 1100203570 0 0 6 0 0 0 stream-LThope wowzasessionid=1100203570 - - - - http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8?wowzasessionid=1100203570 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8 wowzasessionid=1100203570 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8 wowzasessionid=1100203570

2013-04-19 20:58:36 EDT destroy stream INFO 200 stream-LThope - defaultVHost live10 definst 34.094 66.184.210.226 1935 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8?wowzasessionid=1100203570 207.123.36.9 http (cupertino) - AppleCoreMedia/1.0.0.10B329 (iPhone; U; CPU OS 6_1_3 like Mac OS X; en_us) 1100203570 0 426 6 0 0 0 stream-LThope wowzasessionid=1100203570 - - - - http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8?wowzasessionid=1100203570 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8 wowzasessionid=1100203570 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8 wowzasessionid=1100203570

2013-04-19 20:58:36 EDT disconnect cupertino INFO 200 1100203570 - defaultVHost live10 definst 553.656 66.184.210.226 1935 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8?wowzasessionid=1100203570 207.123.36.9 http (cupertino) - AppleCoreMedia/1.0.0.10B329 (iPhone; U; CPU OS 6_1_3 like Mac OS X; en_us) 1100203570 0 426 - 0 - - stream-LThope wowzasessionid=1100203570 - - - - http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8?wowzasessionid=1100203570 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8 wowzasessionid=1100203570 http://66.184.210.226:1935/live10/stream-LThope/chunklist.m3u8 wowzasessionid=1100203570

It just keeps doing this cupertino connect, create, destroy, disconnect.

Here is what I have in for the streaming cupertino settings in my /live10/application.xml file:

live

${com.wowza.wms.context.VHostConfigHome}/content

${com.wowza.wms.context.VHostConfigHome}/keys

cupertinostreamingpacketizer,smoothstreamingpacketizer,sanjosestreamingpacketizer

cupertinoChunkDurationTarget

20000

Integer

cupertinoMaxChunkCount

10

Integer

cupertinoPlaylistChunkCount

5

Integer

cupertinoRepeaterChunkCount

5

Integer

Lastly here are my settings on FLME:

Format H.264-Profile Main, Level 3.0, Keyframe 2 sec.

Frame Rate 25

Input size 640x480

Output bit rate 650 kbps, output size 640x358

Audio

AAC, stereo, 44100, 128

This is FLME 3.2

WOWZA 3.5 latest patch

So I guess I am asking if anyone knows why the cupertino keeps disconnecting? Any recommendations for the cupertino settings? Does anyone know how to do what my CDN said about ts files or chunk names?

Thanks,

Doug

I would change the encoding profile from Main to Baseline as many iOS devices do not play Main very well and this should help.

Andrew

Also, the cupertino Property settings are in the wrong place. They should be in the /LiveStreamPacketizer Properties container. You have them in a /Streams /LiveStreamPacketizers Properties container, which has no affect.

However, with 2 second key frame frequency the default settings are fine, so that is not your problem.

The connect/disconnect lines are not necessarily a problem.

I don’t quite understand the work-flow. Is it the clients streaming from the CDN that are having the problem? Or is it clients streaming from your Wowza server having problems? How are you delivering to the CDN?

The behavior sounds like playback from a vod application. If you push a live stream to a vod application (StreamType “default”) you can play it back, but it might jump back as you describe.

Richard

Thanks for the update, Doug

Richard

I forgot to mention, it was on baseline but was doing exact same thing, I just switched to main in an attempt to try different things. Thanks.

My setup is I have multiple video feeds into a SD video switcher (SD video in as well), I run audio through a switcher and into a Osprey card on the box. I run FLME pointing at rtmp://localhost:1935/live and a stream name of stream-LTmain (the above example was live10 and stream-LThope because it was a special event). I run the WOWZA on the same box. I have the WOWZA running just out of the box with the exception of adding the PUSH publishing for the RTMP to my CDN. My CDN is Level3. The CDN is coming inbound and grabbing the HLS feeds. My issue is with all users connecting RTMP from outside (going via their internet to L3). The information I sent from L3 shows that are getting bad data not that they can’t push. I have a 20Mb Metro line and according to my traffic analyzer am only pushing 9.5Mb during trasmissions times.

My web site detects if you are a mobile browser and pushes you to the m3u8 file, if not you watch the Flash via our commercial Flow Player on our page. We are moving to HTML5 flowplayer so the layer will detect browser and not the page code but that isnt here yet. Does this answer the question?

Also, now I am getting this line. I am really at a loss here, we can’t have disconnects. I am told WOWZA is the best way to go and know other churches using WOWZA but I can’t get any good support and if my devices are cutting out and content starts over I can’t use it. I wish someone could help me sort this out. I appreciate the help from anyone who replies.

2013-04-20 18:08:33 EDT comment server WARN 200 - HTTPStreamerAdapterCupertinoStreamer.getAppInstance: Stream not found [live10/stream-LThope/playlist.m3u8]: stream-LThope - - - 18.078 - - - - - - - - - - - - - - - - - - - - - - - - -

2013-04-20 18:08:33 EDT comment server WARN 200 - HTTPStreamerAdapterCupertinoStreamer.getAppInstance: Stream not found [live10/stream-LThope/chunklist.m3u8?wowzasessionid=919931621]: stream-LThope - - - 18.328 - - - - - - - - - - - - - - - - - - - - - - - - -

Ok thanks for all of the help. The issue turned out to be that I didn’t have the random chunk name setting enabled and also my CDN was caching my content for almost ever therefore causing issues where from time to time the playlist would grab the wrong chunk because the names matched. I added the random name setting and had my CDN change my cache time to a much smaller window measured in seconds, I ran another event and it worked flawlessly. I still get the disconnect messages but they show as INFO not WARN and happen but the video stays consistent regardless…For now at least… Thanks to all and the code is below that I used.

Thread:

https://www.wowza.com/docs/how-to-configure-a-wowza-server-as-an-http-caching-origin

httpRandomizeMediaName

true

Boolean