New Axis camera with H.264

Axis cams are supporting HTTP-tunneling:

http://www.axis.com/techsup/software/amc/faq/faq5.htm

Behind some firewalls I can view the h.264 video with QT player and VLC , but can not stream it with Wowza Pro (some VLC output below).

I guess TCP streaming is not supported with Axis cams? Any plans to include this feature?

BTW. Any news on authentication with Axis cams?


Sending request: SETUP rtsp://axis.client:4000/axis-media/media.amp/trackID=1 RTSP/1.0

CSeq: 3

Transport: RTP/AVP;unicast;client_port=60708-60709

User-Agent: VLC media player (LIVE555 Streaming Media v2006.03.16)

Received SETUP response: RTSP/1.0 200 OK

CSeq: 3

Session: 396C1A0C; timeout=60

Transport: RTP/AVP;unicast;client_port=33094-33095;server_port=50372-50373;ssrc=FA743A0B;mode=“PLAY”

Date: Sun, 01 Jul 2001 16:54:58 GMT

live555 demuxer warning: no data received in 10s. Switching to TCP

Sending request: SETUP rtsp://axis.client:4000/axis-media/media.amp/trackID=1 RTSP/1.0

CSeq: 9

Transport: RTP/AVP/TCP;unicast;interleaved=0-1

User-Agent: VLC media player (LIVE555 Streaming Media v2006.03.16)

Received SETUP response: RTSP/1.0 200 OK

CSeq: 9

Session: 26BD5F09; timeout=60

Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=F50D17AE;mode=“PLAY”

Date: Sun, 01 Jul 2001 16:55:10 GMT

Have you got one ordered yet? If this thing works then hallelujah!!

Mat

My rep at Pcconnection’s told me he can ship them out today.

Mat

That is exciting. I’m going to probably get one ordered tomorrow.

Mat

So I have got one of these cameras and I am able to stream both Video and Audio through the Wowza server, but I keep getting pauses every minute or so. When watching the Wowza console it looks like the server keeps reconnecting to the camera. Here is a partial log:

[HTML]

INFO stream unpublish 2008-09-13 13:52:02 - - - - - 63.015 rtsp://192.168.0.75/axis-media/media.amp 45633 0 11765906 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:52:02 - - - - - 177.328 - - - - - - - MediaStreamMediaCasterPlay: close

INFO stream destroy 2008-09-13 13:52:02 - - - - - 63.015 rtsp://192.168.0.75/axis-media/media.amp 45633 0 11765906 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:52:02 - - - - - 177.328 - - - - - - - RTPMediaCaster.Reconnector: start

INFO server comment 2008-09-13 13:52:03 - - - - - 178.328 - - - - - - - RTPSessionDescriptionDataProviderBasic.getStreamInfo: RTSP/RTP re-streaming. Success, received SDP data.

INFO stream create 2008-09-13 13:52:03 - - - - - 0.0 - 52146 0 0 - - - -

INFO stream stop 2008-09-13 13:52:03 - - - - - 173.765 rtsp://192.168.0.75/axis-media/media.amp 22098 20790479 0 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO stream publish 2008-09-13 13:52:03 - - - - - 0.0 rtsp://192.168.0.75/axis-media/media.amp 52146 0 0 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:52:03 - - - - - 178.328 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6970

INFO server comment 2008-09-13 13:52:03 - - - - - 178.328 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6971

INFO server comment 2008-09-13 13:52:03 - - - - - 178.328 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6972

INFO server comment 2008-09-13 13:52:03 - - - - - 178.328 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6973

INFO server comment 2008-09-13 13:52:03 - - - - - 178.344 - - - - - - - RTPMediaCaster.Reconnector: stop

INFO server comment 2008-09-13 13:52:03 - - - - - 178.359 - - - - - - - UDPTransport.firstPacket: utopiapro/192.168.0.2:6970

INFO server comment 2008-09-13 13:52:03 - - - - - 178.375 - - - - - - - UDPTransport.firstPacket: utopiapro/192.168.0.2:6972

INFO server comment 2008-09-13 13:52:06 - - - - - 180.844 - - - - - - - RTPMediaCaster.resetConnection:

INFO stream unpublish 2008-09-13 13:52:06 - - - - - 2.516 rtsp://192.168.0.75/axis-media/media.amp 52146 0 498315 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:52:06 - - - - - 180.844 - - - - - - - MediaStreamMediaCasterPlay: close

INFO stream destroy 2008-09-13 13:52:06 - - - - - 2.516 rtsp://192.168.0.75/axis-media/media.amp 52146 0 498315 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:52:06 - - - - - 180.844 - - - - - - - RTPMediaCaster.Reconnector: start

INFO server comment 2008-09-13 13:52:06 - - - - - 181.594 - - - - - - - RTPSessionDescriptionDataProviderBasic.getStreamInfo: RTSP/RTP re-streaming. Success, received SDP data.

INFO stream create 2008-09-13 13:52:06 - - - - - 0.0 - 62309 0 0 - - - -

INFO stream publish 2008-09-13 13:52:06 - - - - - 0.0 rtsp://192.168.0.75/axis-media/media.amp 62309 0 0 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:52:06 - - - - - 181.594 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6970

INFO server comment 2008-09-13 13:52:06 - - - - - 181.594 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6971

INFO server comment 2008-09-13 13:52:06 - - - - - 181.594 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6972

INFO server comment 2008-09-13 13:52:06 - - - - - 181.594 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6973

INFO server comment 2008-09-13 13:52:06 - - - - - 181.594 - - - - - - - UDPTransport.firstPacket: utopiapro/192.168.0.2:6970

INFO server comment 2008-09-13 13:52:06 - - - - - 181.594 - - - - - - - RTPMediaCaster.Reconnector: stop

INFO server comment 2008-09-13 13:52:06 - - - - - 181.641 - - - - - - - UDPTransport.firstPacket: utopiapro/192.168.0.2:6972

INFO server comment 2008-09-13 13:52:08 - - - - - 183.563 - - - - - - - UDPTransport.firstPacket: utopiapro/192.168.0.2:6973

INFO stream play 2008-09-13 13:52:09 2013420682 127.0.0.1 - 3632 20819118 179.89 rtsp://192.168.0.75/axis-media/media.amp 22098 20790479 0 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:52:10 - - - - - 185.328 - - - - - - - UDPTransport.firstPacket: utopiapro/192.168.0.2:6971

INFO server comment 2008-09-13 13:53:09 - - - - - 244.594 - - - - - - - RTPMediaCaster.resetConnection:

INFO stream unpublish 2008-09-13 13:53:09 - - - - - 63.0 rtsp://192.168.0.75/axis-media/media.amp 62309 0 11650510 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:53:09 - - - - - 244.594 - - - - - - - MediaStreamMediaCasterPlay: close

INFO stream destroy 2008-09-13 13:53:09 - - - - - 63.0 rtsp://192.168.0.75/axis-media/media.amp 62309 0 11650510 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:53:09 - - - - - 244.594 - - - - - - - RTPMediaCaster.Reconnector: start

INFO server comment 2008-09-13 13:53:10 - - - - - 245.594 - - - - - - - RTPSessionDescriptionDataProviderBasic.getStreamInfo: RTSP/RTP re-streaming. Success, received SDP data.

INFO stream create 2008-09-13 13:53:10 - - - - - 0.015 - 2114 0 0 - - - -

INFO stream stop 2008-09-13 13:53:10 - - - - - 241.046 rtsp://192.168.0.75/axis-media/media.amp 22098 31546772 0 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO stream publish 2008-09-13 13:53:10 - - - - - 0.015 rtsp://192.168.0.75/axis-media/media.amp 2114 0 0 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:53:10 - - - - - 245.609 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6970

INFO server comment 2008-09-13 13:53:10 - - - - - 245.609 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6971

INFO server comment 2008-09-13 13:53:10 - - - - - 245.609 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6972

INFO server comment 2008-09-13 13:53:10 - - - - - 245.609 - - - - - - - UDPTransport.bind: utopiapro/192.168.0.2:6973

INFO server comment 2008-09-13 13:53:10 - - - - - 245.609 - - - - - - - RTPMediaCaster.Reconnector: stop

INFO server comment 2008-09-13 13:53:10 - - - - - 245.609 - - - - - - - UDPTransport.firstPacket: utopiapro/192.168.0.2:6970

INFO server comment 2008-09-13 13:53:10 - - - - - 245.672 - - - - - - - UDPTransport.firstPacket: utopiapro/192.168.0.2:6972

INFO server comment 2008-09-13 13:53:12 - - - - - 247.719 - - - - - - - UDPTransport.firstPacket: utopiapro/192.168.0.2:6971

INFO server comment 2008-09-13 13:53:13 - - - - - 248.141 - - - - - - - UDPTransport.firstPacket: utopiapro/192.168.0.2:6973

INFO stream play 2008-09-13 13:53:13 2013420682 127.0.0.1 - 3677 31586917 244.156 rtsp://192.168.0.75/axis-media/media.amp 22098 31546772 0 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO vhost vhost-stop 2008-09-13 13:53:23 - - - - - 257.891 - - - - - - defaultVHost -

INFO server comment 2008-09-13 13:53:23 - - - - - 257.891 - - - - - - - MediaStreamMediaCasterPlay: close

INFO stream stop 2008-09-13 13:53:23 2013420682 127.0.0.1 - 3682 33210401 253.328 rtsp://192.168.0.75/axis-media/media.amp 22098 33167177 0 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO stream destroy 2008-09-13 13:53:23 2013420682 127.0.0.1 - 3682 33210401 253.328 rtsp://192.168.0.75/axis-media/media.amp 22098 33167177 0 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO session disconnect 2008-09-13 13:53:23 2013420682 127.0.0.1 - 3682 33210401 253.407 - - - - - - 2013420682 -

INFO application app-stop 2008-09-13 13:53:23 - - - - - 257.891 - - - - - - definst rtplive/definst

INFO server comment 2008-09-13 13:53:23 - - - - - 257.906 - - - - - - - RTPMediaCaster.shutdown: rtsp://192.168.0.75/axis-media/media.amp

INFO server comment 2008-09-13 13:53:23 - - - - - 257.906 - - - - - - - RTPMediaCaster.disconnect

INFO stream unpublish 2008-09-13 13:53:23 - - - - - 12.312 rtsp://192.168.0.75/axis-media/media.amp 2114 0 2436872 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server comment 2008-09-13 13:53:23 - - - - - 257.906 - - - - - - - MediaStreamMediaCasterPlay: close

INFO stream destroy 2008-09-13 13:53:23 - - - - - 12.312 rtsp://192.168.0.75/axis-media/media.amp 2114 0 2436872 - - rtsp://192.168.0.75/axis-media/media.amp -

INFO server server-stop 2008-09-13 13:53:23 - - - - - 257.906 - - - - - - - -

[/HTML]

I am running 1.5.3 with patch 12 applied.

Thanks,

Mat

You can also limit what IP can connect to the camera until they get the authentication thing figured out.

I’m using one. The site’s not live yet, but from testing I can tell you that it works great!

So, I had it running, now when Wowza thinks it’s sending a video to the player it is really sending nothing:

DEBUG server comment - send: size:0 filter:7 time:260 tOffset:0
DEBUG server comment - send: size:0 filter:7 time:260 tOffset:0
DEBUG server comment - send: size:0 filter:7 time:260 tOffset:0
DEBUG server comment - send: size:0 filter:7 time:260 tOffset:0
DEBUG server comment - send: size:0 filter:7 time:260 tOffset:0
DEBUG server comment - send: size:0 filter:7 time:260 tOffset:0
... for ever and ever

I can view the source stream fine in Quicktime & VLC, so I know it’s working. I think it must be a problem with the SDP file:

v=0
o=- 983508159526524 983508159526524 IN IP4 CA.ME.RA.IP
s=Media Presentation
e=NONE
c=IN IP4 WO.WZ.A.IP
b=AS:50000
t=0 0
m=video 0 RTP/AVP 96
b=AS:50000a=framerate:15.0
a=control:trackID=1
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; profile-level-id=420029; sprop-parameter-sets=Z0IAKeKQFAe2AtwEBAaQeJEV,aM48gA==

Any ideas what’s wrong?

I’m trying to follow the instructions in http://community.wowza.com/t/-/46 (Using native RTP encoder…).

However, since the P3301 doesn’t have an sdp file anywhere that I can copy, what I’ve done is started up VLC in from a terminal window and then connected to the camera’s stream with VLC. This allows me to see the SDP info in the terminal window, copy it, and make an SDP file out of it.

I read that I had to modify the SDP file a bit, and it worked for me modified last week, but the same file from last week is not working this week :frowning:

Here’s what the SDP file looks like before modification:

v=0
o=- 983527116251980 983527116251980 IN IP4 CA.ME.RA.IP
s=Media Presentation
e=NONE
c=IN IP4 0.0.0.0
b=AS:50000
t=0 0
a=control:*
a=range:npt=0.000000-
m=video 0 RTP/AVP 96
b=AS:50000
a=framerate:15.0
a=control:trackID=1
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; profile-level-id=420029; sprop-parameter-sets=Z0IAKeKQPBf8uAtwEBAaQeJEVA==,aM48gA==

I tried setting the port in the m line to the port that I use when accessing the camera’s RTSP stream, and it hasn’t worked yet.

Also, I figured I could test out my SDP file by opening it in VLC. That also doesn’t work. It says “No data received in 10s. Aborting.” So I figure it must be the SDP file.

However, I read somewhere that I can’t start a unicast by opening the SDP file alone, which seems to make sense, since if I can watch the stream by entering the stream URL: rtsp://cam-ip:554/axis-media/media.amp but I can’t watch the stream by opening the SDP.

Yeah, that seems to be the problem. I can get it to work if I enter:

rtmp://server-ip/rtplive as the server

rtsp://camera-ip:554/axis-media/media.amp as the stream

into the player swf in the live folder.

However, the framerate is terrible, around 3 fps, when the source is at 15 fps.

Actually, I just added patch 11, (I guess I hadn’t before), but I will try this one too.

Now the question is, how do I make this work without having to put the camera’s IP address in the HTML file that loads he player?

Patch 12 seems to work well too. Now to figure out how to hide the camera’s IP.

So I found the StreamNameAlias package here: http://community.wowza.com/t/-/47 and it takes care of my problem nicely.

However, I changed to running Wowza as a service, (so I don’t have to sit in front of my computer all day long), and now the super-low framerates are back. Are the latest patches used when running Wowza as a service?

Hi John

Did you change any settings in p3301 camera?

Did you find the sdp file on p3301 or Do you have to use vlc to generate the sdp?

where are you specifying the ip adress of wowza in p3301?

Thank You

I tried setting the stream name to

rtsp://camera-ip:554/axis-media/media.amp and it is working

how do you specify the user name and password to login to the camera. To test this , I enabled anonymous viewer login on the camera.

Is it the efficient way to stream?. Here we are pulling from the camera instead of camera pushing the stream to wowza.

I looked at the stream name alias package. Where do you specify the authentication information there?

I temporarlily enabled the anonymous viewers for viewing the camera.

Thank you

srinivas

Hello Mat.

That is exciting. I’m going to probably get one ordered tomorrow.

Could you sniff (by wireshark) rtsp setup traffic between your camera and client? I try to emulate P3301 and VLC show my stream but another programs don’t recognize it.

Best Regards,

Dmitry

Today I played around with a Axis camera.

Could you capture and show RTSP messages log between your Axis camera and client?

Dmitry

Today I played around with a Axis camera.

I wanted to stream different resolutions and qualities without editing the settings in the administration panel. I found the following solution:

You can add these params to the ‘streamname’:

videocodec=h264

resolution=640x480

compression=50

fps=15

videokeyframeinterval=30

videobitrate=1024

videomaxbitrate=1024

videobitratepriority=framerate (or quality)

Example:

_ns.play('rtsp://cam-ip:port/axis-media/media.amp?videocodec=h264&resolution=640x480&videobitrate=1024&videomaxbitrate=1024&videobitratepriority=quality');

Another hint:

In the Application.xml I set the StreamType to ‘rtp-live-lowlatency’ which gives me better results than ‘rtp-live’