Page 1 of 1

Trying to get the Arecont Vision 3130 to work ... help!

Posted: Fri Nov 16, 2007 9:26 pm
by heythisisnate
I posted here a week or two ago (thread: http://www.zoneminder.com/forums/viewtopic.php?t=9757) about our purchase of two Arecont Vision 3130 cameras (specs: http://www.arecontvision.com/products_3130.html) for monitoring my condominium building's parking lot in high resolution. We already have one Axis 207w watching over the lobby.

The Arecont Vision is a great camera. It was easy to set up and get an image in my browser, but I can't get it to work with ZM. I hope somebody can help.

The cameras do output either a static JPEG or MGPEG stream. The Arecont Vision manual gives plenty of url options to configure the video stream to how you want it. Using this URL string, I can get a great picture in my browser:
http://192.168.1.202/mjpeg?res=full&x0= ... r=HTTP/1.1

This produces a 1920x1200 mjpeg image at 1 frame per second.

In the ZM source setup, I have the following configuration
host: 192.168.1.202
port: 80
path: /mjpeg?res=full&x0=0&y0=0&x1=100%&y1=100%&quality=12&doublescan=0&fps=1&ver=HTTP/1.1

It's just not working! I've raised the shared memory in the kernal to about as much RAM as the machine has. Here are outputs from zmdc.log (monitor 2 & 3 are the Arecont cams):

Code: Select all

$ tail -f zmdc.log 
11/16/2007 16:10:27.441829 zmdc[16910].INF [Starting pending process, zmc -m 2]
11/16/2007 16:10:27.452491 zmdc[16910].INF ['zmc -m 2' starting at 07/11/16 16:10:27, pid = 17335]
11/16/2007 16:10:27.496948 zmdc[16910].ERR ['zmc -m 2' exited abnormally, exit status 7]
11/16/2007 16:10:27.701751 zmdc[16910].WAR [Can't find process with command of 'zma -m 2']
11/16/2007 16:10:32.097507 zmdc[16910].INF [Starting pending process, zmc -m 2]
11/16/2007 16:10:32.102115 zmdc[16910].INF ['zmc -m 2' starting at 07/11/16 16:10:32, pid = 17347]
11/16/2007 16:10:32.247390 zmdc[16910].ERR ['zmc -m 2' exited abnormally, exit status 7]
11/16/2007 16:10:42.087334 zmdc[16910].INF [Starting pending process, zmc -m 2]
11/16/2007 16:10:42.097633 zmdc[16910].INF ['zmc -m 2' starting at 07/11/16 16:10:42, pid = 17369]
11/16/2007 16:10:42.176940 zmdc[16910].ERR ['zmc -m 2' exited abnormally, exit status 7]
11/16/2007 16:11:02.091865 zmdc[16910].INF [Starting pending process, zmc -m 2]
11/16/2007 16:11:02.096452 zmdc[16910].INF ['zmc -m 2' starting at 07/11/16 16:11:02, pid = 17373]
11/16/2007 16:11:02.189128 zmdc[16910].ERR ['zmc -m 2' exited abnormally, exit status 7]
11/16/2007 16:11:42.076739 zmdc[16910].INF [Starting pending process, zmc -m 2]
11/16/2007 16:11:42.080951 zmdc[16910].INF ['zmc -m 2' starting at 07/11/16 16:11:42, pid = 17385]
11/16/2007 16:11:42.189714 zmdc[16910].ERR ['zmc -m 2' exited abnormally, exit status 7]
11/16/2007 16:11:57.072725 zmdc[16910].INF [Starting pending process, zmc -m 3]
11/16/2007 16:11:57.077260 zmdc[16910].INF ['zmc -m 3' starting at 07/11/16 16:11:57, pid = 17386]
11/16/2007 16:11:57.282124 zmdc[16910].ERR ['zmc -m 3' exited abnormally, exit status 7]
I turned on a high debug level, and got this interesting output in one of the debug logs:

Code: Select all

$ cat zm_debug.log.17279
11/16/07 16:08:09.097181 zmc_m2[17279].INF-zm_debug.c/304 [New Debug Level = 1, New Debug Log = /var/log/zm/zm_debug.log.17279]
11/16/07 16:08:09.097810 zmc_m2[17279].DB1-zm_monitor.cpp/1899 [Got 1 monitors]
11/16/07 16:08:09.102187 zmc_m2[17279].DB1-zm_monitor.cpp/253 [monitor purpose=1]
11/16/07 16:08:09.102224 zmc_m2[17279].DB1-zm_monitor.cpp/260 [shm.size=9217036]
11/16/07 16:08:09.112662 zmc_m2[17279].DB1-zm_zone.cpp/49 [Initialised zone 0/All - 1 - 640x480 - Rgb:ff0000, CM:3, MnAT:15, MxAT:0, MnAP:50, MxAP:75000, FB:3x3, MnFP:50, MxFP:50000, MnBS:10, MxBS:0, MnB:0, MxB:0]
11/16/07 16:08:09.132709 zmc_m2[17279].DB1-zm_monitor.cpp/329 [Monitor Roof2 has function 2]
11/16/07 16:08:09.132768 zmc_m2[17279].DB1-zm_monitor.cpp/330 [Monitor Roof2 LBF = '%%s - %y/%m/%d %H:%M:%S', LBX = 0, LBY = 0]
11/16/07 16:08:09.132791 zmc_m2[17279].DB1-zm_monitor.cpp/331 [Monitor Roof2 IBC = 10, WUC = 2, pEC = 2, PEC = 2, EAF = 1, FRI = 1000, RBP = 7, FM = 0]
11/16/07 16:08:09.133077 zmc_m2[17279].DB1-zm_zone.cpp/849 [Got 1 zones for monitor Roof2]
11/16/07 16:08:09.133125 zmc_m2[17279].DB1-zm_zone.cpp/49 [Initialised zone 3/All - 1 - 640x480 - Rgb:ff0000, CM:3, MnAT:25, MxAT:0, MnAP:9216, MxAP:230400, FB:3x3, MnFP:9216, MxFP:230400, MnBS:6144, MxBS:0, MnB:1, MxB:0]
11/16/07 16:08:09.152761 zmc_m2[17279].DB1-zm_monitor.cpp/2036 [Loaded monitor 2(Roof2), 1 zones]
11/16/07 16:08:09.152816 zmc_m2[17279].INF-zmc.cpp/183 [Starting Capture]
11/16/07 16:08:09.159435 zmc_m2[17279].ERR-zm_signal.cpp/77 [Got signal (Bus error), crashing]
11/16/07 16:08:09.159653 zmc_m2[17279].ERR-zm_signal.cpp/95 [Signal address is 0x10246, no eip
]
11/16/07 16:08:09.160145 zmc_m2[17279].ERR-zm_signal.cpp/116 [Backtrace: /lib/libc.so.6 [0x2ac93ca86d40]]
11/16/07 16:08:09.160306 zmc_m2[17279].ERR-zm_signal.cpp/116 [Backtrace: /usr/local/bin/zmc [0x412dcf]]
11/16/07 16:08:09.160432 zmc_m2[17279].ERR-zm_signal.cpp/116 [Backtrace: /usr/local/bin/zmc [0x413bd1]]
11/16/07 16:08:09.160618 zmc_m2[17279].ERR-zm_signal.cpp/116 [Backtrace: /usr/local/bin/zmc [0x4151b3]]
11/16/07 16:08:09.160745 zmc_m2[17279].ERR-zm_signal.cpp/116 [Backtrace: /usr/local/bin/zmc [0x416542]]
11/16/07 16:08:09.160867 zmc_m2[17279].ERR-zm_signal.cpp/116 [Backtrace: /usr/local/bin/zmc [0x40399c]]
11/16/07 16:08:09.160988 zmc_m2[17279].ERR-zm_signal.cpp/116 [Backtrace: /lib/libc.so.6(__libc_start_main+0xf4) [0x2ac93ca738e4]]
11/16/07 16:08:09.161108 zmc_m2[17279].ERR-zm_signal.cpp/116 [Backtrace: /usr/local/bin/zmc(__gxx_personality_v0+0x141) [0x403349]]
11/16/07 16:08:09.161227 zmc_m2[17279].INF-zm_signal.cpp/117 [Backtrace complete]
Does anybody have any clue what is going wrong? I;m also attaching the Arecont instruction manual to this post, in case it is helpful.

Posted: Fri Nov 16, 2007 9:39 pm
by cordel
There are three possibilities,
Shared memory needs to be large enough, although you never want to use much more than half (as a safe rule) to leave memory for other important processes.
The configuration of ZM and the cam must match for image size and palette, if the cam is sending a 1920x1200 image and ZM is expecting as configured 640x480, then it will not work, check your settings.
Third is there is no standard for mjpeg so if the headers are put together in a fashion that zm can't recognize, then it will not work. There are several cameras that do not work with ZM eventhough they produce mjpeg because they have weird headers which is why we have a compatibility list.

Posted: Thu Nov 29, 2007 8:41 am
by passat
heythisisnate

Have you resolved the problem?

Posted: Mon Dec 03, 2007 11:15 pm
by heythisisnate
No, the problem is not resolved yet. I tried cordel's suggestions, and just can't figure out what exactly is wrong. I tried looking at the headers, but I don't really know what I'm looking for.

The good news is that we finally got our internet connection hooked up, so I can make the camera feeds public and you experts can try and help me out.

The two Arecont cameras are available at http://alhambrahoa.no-ip.org:8445/ and http://alhambrahoa.no-ip.org:8446/. This will bring you to the camera's web interface.

You can get a raw mjpeg stream with this path:
http://alhambrahoa.no-ip.org:8446/mjpeg ... r=HTTP/1.1

Can anybody help me figure out why ZM won't read it?

Thanks,
Nate

Posted: Tue Dec 04, 2007 11:46 am
by W.
first of all, resolution is not 1920x1200, it rather is 1280x1024, second, camera is very very picky about how request that is sent to it is formated. in particular it does not like this line in src/zm_remote_camera.cpp:

Code: Select all

		snprintf( request, sizeof(request), "GET %s HTTP/%s\n", path, config.http_version );
find the line, change \n to \r\n, recompile zmc, reinstall zmc , set ZM to use regexps, ver 1.1 http and you are good to go.

Posted: Tue Dec 04, 2007 1:48 pm
by W.
well, resolution apparently changes with light as camera uses either smaller b/w sensor or bigger color sensor, at night res=full gives 1280x1024, but in daylight it is 1920x1200, so you will have to do something about this.

Posted: Tue Dec 04, 2007 2:35 pm
by heythisisnate
W. wrote:at night res=full gives 1280x1024, but in daylight it is 1920x1200, so you will have to do something about this.
Yes, this is correct. The camera has two lenses and switches from the color to the b/w sensor after dark. The max resolutions are different. What do you mean "do something" about this? What problems would this cause? Any suggestions about what I should do?

Posted: Tue Dec 04, 2007 2:51 pm
by W.
when you define monitor, you hardcode resolution and zoneminder does not try to adjust monitor resolution to the actual images coming from camera. so you will either have to instruct camera to return fixed resolution images at all times (1280x1024 for example) or set up zoneminder in some weird way so that it pulls higher res. image at day and lower res. image at night.

Posted: Sat Dec 22, 2007 5:01 pm
by skyking
I spoke with the customer support and engineers at arecont.
they said you could crop the image in day mode to 1024x768, but that will affect Field of View ( FOV ). A possible lens change could mitigate the impact of that.
One of my clients will have a couple of these cams next week, and they also dropped a chunk of change on some bosch software for recording.
They also have 4 of the 5 MP cams from the same vendor.
I will take a zoneminder machine there for some testing, but they will be using the bosch on windows setup.
<just threw up in my mouth a little> :shock:
The engineers told me they have a couple of day/night cameras being released in January, with one lens and a mechanical cut filter. They will be offered in 3 and 1.3 mp.

Posted: Sun Mar 02, 2008 7:27 am
by skyking
Arecont is not ready for zoneminder. I traded a few more emails with the engineers there, and they don't have enough flash memory to properly trigger ZM for a motion event. They claim they will have that feature in march, but I am not impressed wtih the images I am getting from the 3 MP cameras I set up.