Streaming Axis Cameras

I’m at my wits’ end and I’m not sure what to do.

We’ve had Wowza Media Server 2 for a while now and it’s worked great with flash clients and rtsp streams. Recently I was convinced that I needed to upgrade to Wowza Media Server 3 and enable the transcoder plugin to support IOS devices. So I bought them both.

We have many physical videos (vod) and some webcams (AXIS Q1755 Network Cameras) all which I’m trying to bring to the iPhone.

Most of our media works on the iPad, but NOT on the iPhone. Ideally, I’d like to get adaptive bitrate/transcoding working for all our media but right now I’m just trying to get a single webcam working (without transcoding). I have explicitly set the stream profile to iphone and you can tell by the quality of the video. Here’s the url:

http://video.truesarasota.com:1935/live/definst/b8361ffe4a90ab3f5c4d92c580501291/mp4:siestakey.stream/playlist.m3u8

If I stick this url into a html5 video element it will play fine on the iPad, but it won’t work with the iPhone. Here’s my Application.xml for the “live” app.

[PHP]

true

live

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

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

cupertinostreamingpacketizer,smoothstreamingpacketizer

transcoder

${SourceStreamName}.xml,transrate.xml

${com.wowza.wms.context.VHostConfigHome}/transcoder/profiles

${com.wowza.wms.context.VHostConfigHome}/transcoder/templates

cupertinostreaming,smoothstreaming

-1

*

*

*

*

none

none

senderreport

12000

base

Base

com.wowza.wms.module.ModuleCore

properties

Properties

com.wowza.wms.module.ModuleProperties

logging

Client Logging

com.wowza.wms.module.ModuleClientLogging

flvplayback

FLVPlayback

com.wowza.wms.module.ModuleFLVPlayback

smoothStreamingMediaMajorVersion

2

Integer

[/PHP]

I really don’t have much in the logs that would clue me into what’s wrong. Can you please help?

Also is there a private support form or ticketing system where I could reveal more information?

It doesn’t work in my test on my IPhone 3gs with iOS 5.1.1.

Wowza reports it is Baseline 4.1, Resolution 480x270. Try making it Baseline 3 and Resolution 320x240 or less.

The chunklist, which shows 3 chunks, shows10 second, then 1 second, then 10 second chunks. Which is unusual. What are the settiings on that camera? Try setting a 2 second key frame frequency. You might have to set GOP (or key frame interval) = FPS * 2 if there is not a way to set key frame frequency.

Richard

Try constant bit rate. The GOV settings in Axis is gop I think, so you just need that to be twice the fps setting to get a 2 second key frame frequency. You might get more options when you select constant bitrate.

Also, take a look at this guide:

https://www.wowza.com/docs/how-to-configure-apple-hls-packetization-cupertinostreaming

But I would suggest working with encoder settings first, before making any change to the segmenter properties.

Richard

Have you tried setting the stream to constant bitrate yet? Is the camera on a public IP?

You can also open a ticket at support@wowza.com. Please include a link to thread for reference. Also send test playback url, and camera source IP if public.

For other support options you can write to sales@wowza.com.

Richard

Also, I am still see every 3rd chunk is 1 second and the other 2 are 10 seconds. Do you know how to look at that? Take a look at this guide.

https://www.wowza.com/docs/how-to-test-aes-encryption-for-apple-hls-streams

Take a look at steps 1 - 3 of the above guide. Then look at lines like this: “#EXTINF:10,”

Try constant bitrate and see if that changes this.

Richard

They are talking about key frames. I-image = key frame. If you have a key frame every 60 frames (GOV or gop setting), and the FPS is 30, then you have key frame frequency of 2 seconds.

Richard

It doesn’t work in my test on my IPhone 3gs with iOS 5.1.1.

Wowza reports it is Baseline 4.1, Resolution 480x270. Try making it Baseline 3 and Resolution 320x240 or less.

The chunklist, which shows 3 chunks, shows10 second, then 1 second, then 10 second chunks. Which is unusual. What are the settiings on that camera? Try setting a 2 second key frame frequency. You might have to set GOP (or key frame interval) = FPS * 2 if there is not a way to set key frame frequency.

Richard

Stream Profile Settings:

Resolution 48x270 (16:9)

Compression: 30

Maximum frame rate: 24

Audio Stream: no

H264 Settings

GOV Settings:

Length: 6 1…]

Bit Rate Control

variable bit rate (selected)

constant bit rate

That’s all the options I have on the camera. I’ll try enabling audio. I’m not sure.

If I could get the transcoding add-on working properly, might it fix this?

gov didn’t work. What do you recommend as a target/constant bit rate?

I attempted to change GOV (gop) to 48 (24 * 2) and that didn’t work either.

Where do I purchase phone support wowza or is the forums only place to come? What else can I do to get our web camera working?

I did set it to constant bitrate, but I wasn’t sure what to set it to. I tried 1 and 4.

Also I found this:

GOV Settings

Length - The GOV structure describes the composition of the H.264 video stream which consists of 2 image forms, I-images and P-images. An I-image is a complete image, whereas a P-image is only the differences in the image as compared with the previous image.

The GOV length determines how many P-images are sent before the next complete I-image is sent.

Setting the GOV-length to a higher value saves considerably on bandwidth but if there is congestion on the network, there may be noticeable decay in the video quality. Setting the GOV-length to a lower value increases the video quality, in this case.

http://video.truesarasota.com:1935/live/definst/b8361ffe4a90ab3f5c4d92c580501291/mp4:siestakey.stream/playlist.m3u8

#EXTM3U

#EXT-X-VERSION:3

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=60998,CODECS=“avc1.66.41”,RESOLUTION=480x270

chunklist.m3u8?wowzasessionid=734386317

http://video.truesarasota.com:1935/live/definst/b8361ffe4a90ab3f5c4d92c580501291/mp4:siestakey.stream/playlist.m3u8?wowzasessionid=734386317

#EXTM3U

#EXT-X-VERSION:3

#EXT-X-ALLOW-CACHE:NO

#EXT-X-TARGETDURATION:17

#EXT-X-MEDIA-SEQUENCE:126

#EXTINF:11,

media_126.ts?wowzasessionid=734386317

#EXTINF:10,

media_127.ts?wowzasessionid=734386317

#EXTINF:10,

media_128.ts?wowzasessionid=734386317

http://video.truesarasota.com:1935/live/definst/b8361ffe4a90ab3f5c4d92c580501291/mp4:siestakey.stream/media_126.ts?wowzasessionid=734386317

I followed everything to the first chunk. I’m unclear where your seeing the meta data that dictates how long the chunk is supposed to be played for? Is it “#EXTINF:11,#EXTINF:10,#EXTINF:10,” (11,10 and 10 seconds)?

Also, I have the bitrate set to 4 now.

The first chunk played fine in VLC, but I wasn’t able to download the second chunk (I doubt this is relevant).

I set this back to 6, should I make it 48 again?

I setup another profile called mobile. Target fps of 24, a GOV setting of 48, constant/target bit rate of 4.

http://video.truesarasota.com:1935/live/definst/b8361ffe4a90ab3f5c4d92c580501291/mp4:mobile.stream/playlist.m3u8

It still doesn’t work on the iPhone. Works on the iPad though.

-edit opening a support ticket.

While not quite what you folks are talking about in this thread, I’d just like to chime in that Axis has released the Axis “Streaming Assistant” which is an Windows app and is free. What it does it connect to the camera and grab the video (even mjpeg) and present the video to another windows app as a standard windows video source. It also gives you some tpz control if your cam supports it.

/brian chee