[solved] Vivotek IP7131 RTSP error

Forum for questions and support relating to the 1.24.x releases only.
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

Thanks for taking the time to report Kyle. I'm sure people will find this useful.
Phil
lonewolf
Posts: 9
Joined: Thu Apr 24, 2008 6:22 am

Post by lonewolf »

I have a Vivotek IP7138 and a IP7131 and I can't get either one working. I've done most of my testing with the 7138 and a SVN checkout from 3/7/09. Here's what I have so far:

The camera does not like SETUP requests without first issuing a DESCRIBE in the same connection. If you try, it returns a 400 error. I added a couple of lines to zm_rtsp.cpp to fix this.

When you go to PLAY, it does not like the trackID parameter on the URL. Another small modification to zm_rtsp.cpp has the camera streaming video to ZM.

Now this is where I get stuck stuck. zmc dies with a large hex blob right after the camera starts streaming. Here is part of the debug log with the level set to 8:

Code: Select all

03/08/09 22:59:00.597748 zmc_m1[-1].DB4-zm_rtp_data.cpp/98 [Got 1412 bytes on sd 9]
03/08/09 22:59:00.597771 zmc_m1[-1].DB5-zm_rtp_data.cpp/44 [Ver: 2]
03/08/09 22:59:00.597791 zmc_m1[-1].DB5-zm_rtp_data.cpp/45 [P: 0]
03/08/09 22:59:00.597810 zmc_m1[-1].DB5-zm_rtp_data.cpp/46 [Pt: 96]
03/08/09 22:59:00.597822 zmc_m1[-1].DB5-zm_rtp_data.cpp/47 [Mk: 0]
03/08/09 22:59:00.597834 zmc_m1[-1].DB5-zm_rtp_data.cpp/48 [Seq: 3]
03/08/09 22:59:00.597846 zmc_m1[-1].DB5-zm_rtp_data.cpp/49 [T/S: 2b91b5]
03/08/09 22:59:00.597858 zmc_m1[-1].DB5-zm_rtp_data.cpp/50 [SSRC: cdb6e79b]
03/08/09 22:59:00.597871 zmc_m1[-1].DB5-zm_rtp_source.cpp/87 [Seq: 3]
03/08/09 22:59:00.597883 zmc_m1[-1].DB3-zm_rtp_source.cpp/117 [Packet in sequence, gap 1]
03/08/09 22:59:00.597[mpeg4 @ 0x6ffa350]header damaged
895 zmc_m1[-1].DB4-zm_rtp_source.cpp/259 [16: fc db 6e f9 b6 df e6 db 73 32 b6 c3 c8 31 70 92]
03/08/09 22:59:00.597985 zmc_m1[-1].DB4-zm_rtp_source.cpp/262 [16: 60 da 16 f1 32 00 00 00 70 86 00 07 00 00 00 00]
03/08/09 22:59:00.598006 zmc_m1[-1].DB5-zm_rtp_source.cpp/187 [RTP Jitter: 0]
03/08/09 22:59:00.598621 zmc_m1[-1].DB4-zm_rtp_data.cpp/98 [Got 1305 bytes on sd 9]
03/08/09 22:59:00.598638 zmc_m1[-1].DB5-zm_rtp_data.cpp/44 [Ver: 2]
03/08/09 22:59:00.598650 zmc_m1[-1].DB5-zm_rtp_data.cpp/45 [P: 0]
03/08/09 22:59:00.598662 zmc_m1[-1].DB5-zm_rtp_data.cpp/46 [Pt: 96]
03/08/09 22:59:00.598674 zmc_m1[-1].DB5-zm_rtp_data.cpp/47 [Mk: 1]
03/08/09 22:59:00.598685 zmc_m1[-1].DB5-zm_rtp_data.cpp/48 [Seq: 4]
03/08/09 22:59:00.598697 zmc_m1[-1].DB5-zm_rtp_data.cpp/49 [T/S: 2b91b5]
03/08/09 22:59:00.598709 zmc_m1[-1].DB5-zm_rtp_data.cpp/50 [SSRC: df36db9e]
03/08/09 22:59:00.598721 zmc_m1[-1].DB5-zm_rtp_source.cpp/87 [Seq: 4]
03/08/09 22:59:00.598733 zmc_m1[-1].DB3-zm_rtp_source.cpp/117 [Packet in sequence, gap 1]
03/08/09 22:59:00.598753 zmc_m1[-1].DB4-zm_rtp_source.cpp/259 [16: df e6 db 77 c4 c1 fd 20 03 7f 7e 6d b7 f9 b6 df]
03/08/09 22:59:00.598778 zmc_m1[-1].DB4-zm_rtp_source.cpp/262 [16: 60 da 16 f1 32 00 00 00 70 86 00 07 00 00 00 00]
03/08/09 22:59:00.598803 zmc_m1[-1].WAR-zm_rtp_source.cpp/282 [Discarding incomplete frame 0, 0 bytes]
03/08/09 22:59:00.599127 zmc_m1[-1].DB5-zm_rtp_source.cpp/187 [RTP Jitter: 0]
03/08/09 22:59:00.873186 zmc_m1[-1].DB4-zm_rtp_data.cpp/98 [Got 1007 bytes on sd 9]
03/08/09 22:59:00.873257 zmc_m1[-1].DB5-zm_rtp_data.cpp/44 [Ver: 2]
03/08/09 22:59:00.873275 zmc_m1[-1].DB5-zm_rtp_data.cpp/45 [P: 0]
03/08/09 22:59:00.873288 zmc_m1[-1].DB5-zm_rtp_data.cpp/46 [Pt: 96]
03/08/09 22:59:00.873302 zmc_m1[-1].DB5-zm_rtp_data.cpp/47 [Mk: 1]
03/08/09 22:59:00.873314 zmc_m1[-1].DB5-zm_rtp_data.cpp/48 [Seq: 5]
03/08/09 22:59:00.873326 zmc_m1[-1].DB5-zm_rtp_data.cpp/49 [T/S: 2b91b5]
03/08/09 22:59:00.873338 zmc_m1[-1].DB5-zm_rtp_data.cpp/50 [SSRC: 58bb029f]
03/08/09 22:59:00.873352 zmc_m1[-1].DB5-zm_rtp_source.cpp/87 [Seq: 5]
03/08/09 22:59:00.873365 zmc_m1[-1].DB3-zm_rtp_source.cpp/117 [Packet in sequence, gap 1]
03/08/09 22:59:00.873379 zmc_m1[-1].DB4-zm_rtp_source.cpp/259 [16: fb 83 05 ff ed ee 70 46 27 04 4f ee 0a 8f bc 36]
03/08/09 22:59:00.873400 zmc_m1[-1].DB4-zm_rtp_source.cpp/262 [16: fb 83 05 ff ed ee 70 46 27 04 4f ee 0a 8f bc 36]
03/08/09 22:59:00.873419 zmc_m1[-1].DB2-zm_rtp_source.cpp/268 [Got new frame 0, 983 bytes]
03/08/09 22:59:00.873434 zmc_m1[-1].DB8-zm_thread.cpp/215 [Updating value with signal, 0x70075b8]
03/08/09 22:59:00.873467 zmc_m1[-1].DB8-zm_thread.cpp/201 [Waiting for value update, 1 secs, 0x7007620]
03/08/09 22:59:00.873483 zmc_m1[-1].DB8-zm_thread.cpp/127 [Waiting for 1 seconds]
03/08/09 22:59:00.873495 zmc_m1[-1].DB8-zm_thread.cpp/215 [Updating value with signal, 0x7007620]
03/08/09 22:59:00.873537 zmc_m1[-1].DB3-zm_rtp_source.cpp/323 [Copied 983 bytes]
03/08/09 22:59:00.873548 zmc_m1[-1].DB5-zm_rtp_source.cpp/187 [RTP Jitter: 0]
03/08/09 22:59:00.873553 zmc_m1[-1].DB3-zm_remote_camera_rtsp.cpp/171 [Read frame 983 bytes]
03/08/09 22:59:00.873589 zmc_m1[-1].DB4-zm_remote_camera_rtsp.cpp/172 [Address 0x7f50f1e72010]
03/08/09 22:59:00.873609 zmc_m1[-1].DB4-zm_remote_camera_rtsp.cpp/173 [16: fb 83 05 ff ed ee 70 46 27 04 4f ee 0a 8f bc 36]
03/08/09 22:59:00.873941 zmc_m1[-1].ERR-zm_remote_camera_rtsp.cpp/212 [Error while decoding frame 0]
03/08/09 22:59:00.874205 zmc_m1[-1].ERR-zm_remote_camera_rtsp.cpp/213 [983: fb 83 05 ff ed ee 70 46 27 04 4f ee 0a 8f (insert a large amount of hex here) be fb f7]
03/08/09 22:59:00.874892 zmc_m1[-1].ERR-zmc.cpp/258 [Failed to capture image from monitor 1 (0/1)]
03/08/09 22:59:00.875226 zmc_m1[-1].DB1-zm_thread.cpp/302 [Joining thread -1]
03/08/09 22:59:00.875248 zmc_m1[-1].WAR-zm_thread.cpp/323 [Attempt to join non-started thread -1]
03/08/09 22:59:00.875443 zmc_m1[-1].DB1-zm_thread.cpp/326 [Joined thread -1]
03/08/09 22:59:00.875575 zmc_m1[-1].DB1-zm_thread.cpp/245 [Destroying thread -1]
03/08/09 22:59:00.875591 zmc_m1[-1].DB1-zm_thread.cpp/302 [Joining thread -1]
03/08/09 22:59:00.875603 zmc_m1[-1].WAR-zm_thread.cpp/323 [Attempt to join non-started thread -1]
03/08/09 22:59:00.875794 zmc_m1[-1].DB1-zm_thread.cpp/326 [Joined thread -1]
Any ideas?

/LW
User avatar
cordel
Posts: 5210
Joined: Fri Mar 05, 2004 4:47 pm
Location: /USA/Washington/Seattle

Post by cordel »

lonewolf wrote: The camera does not like SETUP requests without first issuing a DESCRIBE in the same connection. If you try, it returns a 400 error. I added a couple of lines to zm_rtsp.cpp to fix this.

When you go to PLAY, it does not like the trackID parameter on the URL. Another small modification to zm_rtsp.cpp has the camera streaming video to ZM.
We have no idea what you have done except broken it. What lines have you added and specifically where. I think I understand the why but care to explain so we are all on the same page.
lonewolf
Posts: 9
Joined: Thu Apr 24, 2008 6:22 am

Post by lonewolf »

cordel wrote:We have no idea what you have done except broken it. What lines have you added and specifically where. I think I understand the why but care to explain so we are all on the same page.
? It did not work for me with a clean download and compile, so I changed 2 things in src/zm_rtsp.cpp .

At line 310 I added

Code: Select all

    message = "DESCRIBE "+mUrl+" RTSP/1.0\r\nAccept: application/sdp\r\n";

    if ( !sendCommand( message ) )
            return( -1 );
    if ( !recvResponse( response ) )
            return( -1 );
And then I changed line 441 from

Code: Select all

    message = "PLAY "+trackUrl+" RTSP/1.0\r\nSession: "+session+"\r\n";
to

Code: Select all

    message = "PLAY "+mUrl+" RTSP/1.0\r\nSession: "+session+"\r\n";
Those are the only changes I made. The camera would return a 400 error without those changes. Now the camera sends the video stream, but zmc still does not like it.

/LW
User avatar
zoneminder
Site Admin
Posts: 5215
Joined: Wed Jul 09, 2003 2:07 pm
Location: Bristol, UK
Contact:

Post by zoneminder »

You might want to try setting this up as an ffmpeg camera and seeing how you get on with that. Most of the jiggery pokery for mpeg cams is in ffmpeg anyway so you might get further with that.
Phil
datacare
Posts: 5
Joined: Mon Apr 21, 2008 1:19 pm

Vivotek Issues

Post by datacare »

Did anyone ever get this working? I have Vivotek models IP7330, IP7131, & FD7030 and am having issues with them ever since i upgraded to Zoneminder 1.24.1 under 1.23 using http simple, they worked.

If anyone could please help me with this, ESPECIALLY any example configs, that would be very helpful!!!!
Locked