Page 1 of 1

BlueCherry BC-08240A

Posted: Wed Aug 11, 2010 12:16 am
by williamthrilliam
Hello,

I recently purchased the BC-08240A, 8 channel hardware compression, which is apparently not being sold anymore as a standalone item. You can find the product description here: BC-08240A

As you can see, its sold along with their DVR software, which I did not buy. I admit I got a good deal, but I was forewarned support would be limited. So now here I am with you.

I have zoneminder installed and all set up on Ubuntu 10.04 x86_64 and would like to know how to connect/view the camera sources. When using xawtv, as mentioned I should do in the wiki, I get this output:
$ xawtv
This is xawtv-3.95.dfsg.1, running on Linux/x86_64 (2.6.32-24-generic)
xinerama 0: 1680x1050+0+0
WARNING: No DGA direct video mode for this display.
can't open /dev/video0: No such device or address
v4l-conf had some trouble, trying to continue anyway
v4l2: open /dev/video0: No such device or address
v4l2: open /dev/video0: No such device or address
v4l: open /dev/video0: No such device or address
no video grabber device available

I'm guessing something has to be probed in order for v4l to recognize my card, and had hoped someone with previous Blucherry hardware experience could give me a hand.

Any help is much appreciated.

Re: BlueCherry BC-08240A

Posted: Wed Aug 11, 2010 2:37 am
by curtishall
williamthrilliam wrote:Hello,

I recently purchased the BC-08240A, 8 channel hardware compression, which is apparently not being sold anymore as a standalone item. You can find the product description here: BC-08240A
Actually the OEM card (without software) is here: http://store.bluecherry.net/ProductDeta ... ow=ExtInfo

It doesn't appear the driver is loaded. You can download the driver and get some technical information from here: http://support.bluecherrydvr.com/entrie ... eg-4-h-264

Zoneminder, like all V4L applications, is expecting to receive MPEG2/TS. This card produces MPEG-4 (m4v). We have a patch that we are working for Zoneminder in the (little) free time have (all of our focus is on the next major release of our software). Hopefully we'll have this patch uploaded to Zoneminder sometime in the next couple weeks.

This patch would support obtaining a hardware compressed stream. You would gain deinterlacing support since the card does this on the fly. Zoneminder would still have to decompress the image and handle the motion detection.

Thanks

Posted: Sat Aug 14, 2010 11:34 pm
by williamthrilliam
Awesome, thank you for your help. You also responded to my request in your support portal, but I would like to continue the discussion here for the community if you wouldn't mind.

I have vlc up detecting both the raw /dev/video0 and then an mjpeg stream from /dev/video1. If I were to use the mjpeg stream (because neither vlc nor zoneminder currently does mpeg4), how can I increase the resolution? As it is right now, I am getting 352x240, but my camera allows for 510x492.

Obviously I want this to transfer over to zoneminder, but I'm using vlc right now just to make sure everything is working.

Thank you for you continued support.

Re: BlueCherry BC-08240A

Posted: Sat Aug 14, 2010 11:42 pm
by williamthrilliam
curtishall wrote: We have a patch that we are working for Zoneminder in the (little) free time have (all of our focus is on the next major release of our software). Hopefully we'll have this patch uploaded to Zoneminder sometime in the next couple weeks.

This patch would support obtaining a hardware compressed stream. You would gain deinterlacing support since the card does this on the fly. Zoneminder would still have to decompress the image and handle the motion detection.
And btw, I am very excited you are working on this. I created a small footprint server for my setup using a dual core atom cpu and 2gigs of ram. I bought the hardware compression card because I believed it would take the load off of the rest of my hardware. So needless to say, please keep me informed.

Posted: Sun Aug 15, 2010 12:34 am
by williamthrilliam
Oh, and I had to install ffmpeg in order for /dev/video1 to be viewable. Just for future reference.

Posted: Sun Aug 15, 2010 3:09 am
by williamthrilliam
I apologize for so many questions, but I really am getting excited about the progress of my system. I will have to post a build tutorial when its all said and done.

Question: You say that when mpeg4 support is implemented (and in the future hopefully h.264), zoneminder will have to decompress it in order to do motion detection. If this is true, what will it use to decompress the video stream? ffmpeg? What I'm getting at is, could I implement hardware acceleration to decompress that stream, such as the Broadcom CrystalHD. It is said (through loose google searches) that ffmpeg now uses the crystalhd card to decompress video when available.

Posted: Sun Aug 15, 2010 5:09 pm
by curtishall
williamthrilliam wrote:I apologize for so many questions, but I really am getting excited about the progress of my system. I will have to post a build tutorial when its all said and done.

Question: You say that when mpeg4 support is implemented (and in the future hopefully h.264), zoneminder will have to decompress it in order to do motion detection. If this is true, what will it use to decompress the video stream? ffmpeg? What I'm getting at is, could I implement hardware acceleration to decompress that stream, such as the Broadcom CrystalHD. It is said (through loose google searches) that ffmpeg now uses the crystalhd card to decompress video when available.
ffmpeg isn't required for the devices to work. All you should need to do is load the solo6010 driver and the devices will load. The card supports resolutions of 352x240, 720x480 and 720x240. Camera resolution does not equal card resolution, so keep that in mind.

The card you purchased does MPEG-4 compression on the card. We will have an H.264 card out soon, but it will be the same compression (on the card), so there's not a way to 'upgrade' the card from MPEG-4 to H.264 without purchasing another card.

Zoneminder has to decompress the video stream, perform an analysis, then save each image as a separate JPEG. This is really counter productive for a hardware compression card, but it's how Zoneminder does things so there's nothing we can do. To make true use of the compression (and the on-board motion detection) then you would need to use our software, write your own, or spend months (?) modifying the way Zoneminder does things.

You still gain on-card de interlacing, so it's not a total loss to use these cards with Zoneminder, and you will gain performance compared to software compression cards (You can obtain 'real' FPS, instead of having to wait for the chip to switch inputs). So, 720x480 @ 15FPS (for a 8 port card) is possible instead of @10FPS (since software compression cards have to multiplex the port). You also have the 'display' port, which is a separate stream, that lets you control the tv output on the card. For example, if you wanted to put cameras 1-4 in a quad view on the composite output off the card you would run:

mplayer tv://0/4

mplayer is another utility to play the MJPEG devices:

mplayer -tv device=/dev/video1:outfmt=mjpeg tv://

Posted: Sun Aug 15, 2010 9:16 pm
by williamthrilliam
Ok, well, I have zoneminder up and running. I don't know if you can help me with this one Curtis, but any help is appreciated.

Debug log when I open up "Garage" /dev/video1 V4L2 320x240 NTSC greyscale

Code: Select all

08/15/10 16:14:15.090005 zmc_dvideo1[-1].INF-zm_debug.c/292 [New Debug Level = 1, New Debug Log = /tmp/zm_debug.log.04566]
08/15/10 16:14:15.090456 zmc_dvideo1[-1].DB1-zm_monitor.cpp/1712 [Got 1 monitors]
08/15/10 16:14:15.090892 zmc_dvideo1[-1].DB1-zm_monitor.cpp/338 [monitor purpose=1]
08/15/10 16:14:15.090930 zmc_dvideo1[-1].DB1-zm_monitor.cpp/345 [mem.size=3073524]
08/15/10 16:14:15.094041 zmc_dvideo1[-1].DB1-zm_zone.cpp/50 [Initialised zone 0/All - 1 - 320x240 - 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, OF: 0]
08/15/10 16:14:15.104009 zmc_dvideo1[-1].DB1-zm_monitor.cpp/458 [Monitor Garage has function 2]
08/15/10 16:14:15.104057 zmc_dvideo1[-1].DB1-zm_monitor.cpp/459 [Monitor Garage LBF = '%N - %y/%m/%d %H:%M:%S', LBX = 0, LBY = 0]
08/15/10 16:14:15.104077 zmc_dvideo1[-1].DB1-zm_monitor.cpp/460 [Monitor Garage IBC = 40, WUC = 25, pEC = 10, PEC = 10, EAF = 1, FRI = 1000, RBP = 7, FM = 0]
08/15/10 16:14:15.104346 zmc_dvideo1[-1].DB1-zm_zone.cpp/889 [Got 1 zones for monitor Garage]
08/15/10 16:14:15.104401 zmc_dvideo1[-1].DB1-zm_zone.cpp/50 [Initialised zone 6/All - 1 - 320x240 - Rgb:ff0000, CM:3, MnAT:25, MxAT:0, MnAP:2304, MxAP:57600, FB:3x3, MnFP:2304, MxFP:57600, MnBS:1536, MxBS:0, MnB:1, MxB:0, OF: 0]
08/15/10 16:14:15.113805 zmc_dvideo1[-1].DB1-zm_monitor.cpp/1814 [Loaded monitor 6(Garage), 1 zones]
08/15/10 16:14:15.113838 zmc_dvideo1[-1].INF-zmc.cpp/188 [Starting Capture]
08/15/10 16:14:15.114214 zmc_dvideo1[-1].FAT-zm_local_camera.cpp/386 [Failed to set video format: Invalid argument]
08/15/10 16:14:15.114650 zmc_dvideo1[-1].INF-zm_signal.cpp/64 [Got signal 6 (Aborted), exiting and forcing backtrace]

Posted: Sun Aug 15, 2010 10:34 pm
by curtishall
Yea, this is a bug in Zoneminder. If you save the jpeg to disk and load it that way it usually works...but Zoneminder can't access the MJPEG encoder.

Your best bet is mess around with piping the video in from ffmpeg, or wait for the patch to use the MPEG-4 encoder.

Posted: Mon Aug 16, 2010 2:11 pm
by curtishall
In order to use a (higher) resolution you need to set the resolution (once) and the driver will stick to that resolution. Opening the device up in vlc, mplayer and (maybe?) ffmpeg with the resolution setting you need (and the device supports) should be all you need to do. You would need to run this once on startup as the changes aren't saved.

Posted: Tue Aug 17, 2010 10:33 pm
by curtishall
curtishall wrote:In order to use a (higher) resolution you need to set the resolution (once) and the driver will stick to that resolution.
You could try this mplayer command to manually set the resolution
mplayer -tv device=/dev/video1:width=704:height=480:outfmt=mjpeg:fps=25:decimation=1 tv://

Re: BlueCherry BC-08240A

Posted: Mon Aug 22, 2011 6:36 am
by mastertheknife
Hi,

Thanks to allangood's report, it seems not all hope is lost and it actually supports the MJPEG capture palette, so it can be used in ZoneMinder with a patch i created, or through mjpg_streamer.

mastertheknife

Re: BlueCherry BC-08240A

Posted: Mon Aug 22, 2011 7:40 am
by curtishall
Just FYI, the MJPEG encoder on this card will not support deinterlacing. Only the MPEG4|H.264 encoder will. Also, make sure you are using the latest driver (https://github.com/bluecherrydvr/solo6x10). Previously you linked to a PPA, which hasn't been updated in quite some time.