Bluecherry releases its version 2 driver (GPL)

Posted: June 16, 2010
Tags: ,
7 Comments

Update 6/19/2010

Further information on the driver and using the card can be found on Ben Collins blog (here). Check back next week for an update on this site for sample code for saving MPEG-4 streams to the disk.

As previously mentioned we have been working hard over the past few months on the driver for version 2 of our Linux hardware compression card. Since version 2 is a complete rewrite of our DVR software we naturally wanted to start with a clean driver, one that was written from scratch. So, we leveraged the Linux kernel’s API for Video (Video4Linux) and Audio (ALSA). This effectively puts Bluecherry as the first company to produce a multi-input MPEG-4 hardware compression GPL driver written around the Linux kernel’s API.

As mentioned in Ben Collin’s personal blog today we published version 2 of this driver on git.kernel.org. While we have a few features we still plan to add to the driver along with the Video4Linux API, but it’s close enough that we feel comfortable releasing the driver to the community. The driver was originally intended for version 2 of the Bluecherry surveillance application, however we felt that other open source applications could make use of the time and effort we put into the driver.

This driver will load up to 16 MPEG-4 and JPEG encoders, 16 audio (ALSA) devices, along with a uncompressed YUV display port. This display port allows you to change the composite video output, for example you can have a quad view (or more) of attached cameras, also known as a “4-UP”. This can actually save hundreds of dollars, since technically you would not need an external video quad or mulitplexer to combine separate cameras into one video output.

The driver is really meant for those with a bit of technical knowledge in using the Video4Linux API, since (currently) most Video4Linux expect to receive MPEG-2 / JPEG / YUV from the Video4Linux API. This means that the majority of open source applications will only be able to access the JPEG feed off the card. It should be noted that the FPS on each port in JPEG and MPEG-4 are dedicated. This basically means that there’s no switching of inputs, so applications can expect to receive a full 7.5FPS @ 704×480 (Using 16 channels). Making use of the MPEG-4 stream would require some modification in the Video4Linux support in the user-space application, or piping the MPEG-4 stream into an application that supports MPEG-4 streams.

Note: This currently only covers our MPEG-4 cards. We will be adding support for a seperate line of H.264 in the next month, so check back for an updated driver.

An example of the kernel log when the driver is loaded is below:

[ 10.867392] solo6010 0000:03:01.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[ 10.868562] solo6010 0000:03:01.0: Enabled 2 i2c adapters
[ 14.328870] solo6010 0000:03:01.0: Initialized 4 tw28xx chips: tw2864[4]
[ 14.328943] solo6010 0000:03:01.0: Display as /dev/video0 with 16 inputs (5 extended)
[ 14.382318] solo6010 0000:03:01.0: Encoders as /dev/video1-16
[ 14.382666] solo6010 0000:03:01.0: Alsa sound card as Softlogic0

lspci -v:

03:01.0 Multimedia video controller: Bluecherry BC-16480A MPEG4 16 port audio video encoder / decoder

Technical specifications:

Video Information

Inputs

Up to 16 (BNC)
Outputs 1 (Composite)
Video Resolution(s) 704×480 @ 120FPS

704×240 @ 240FPS

352×240 @ 480FPS

Video Compression MPEG-4
Audio information
Inputs Up to 16 (RCA)
Outputs 1 (Composite)
Audio Sampling Rate 8Khz
Audio Codec G.723

Expected retail price of these cards, without our software, is $200 for the 4 port, $230 for the 8 port, and $375 for the 16 port card. Quantity discounts will apply

Each card comes with a one year warranty, a thirty day no hassle return, and access / support of our GPL driver. Bluecherry is a registered licensee of the MPEG-4 Visual patent license (MPEGLA)

More information:

Bug tracker: http://improve.bluecherrydvr.com/projects/solo6010-v2

  • Andy Kazmaier

    Hello,

    Do you have a card of this type or similar that works with the new driver that is in a PC/104+ format? Thanks,

    Andy

  • Curtis Hall

    Andy,

    Currently we do not. We attempted to write a driver for a PC/104 card however the chipset manufacturer refused to provide us technical data sheets and low level chip information. These cards would have been in the PC-104 specification with, and without, military specifications (ruggedized, with temperature ranges between -13F and +158F).

    We do have a four port mini-pci version available. We attempted to get these chips on a Mini-PCIe version, however the chips would not fit on such a small board.

    Thanks

    Edit: I got ahead of myself. Before I mentioned an HDcctv card (720p / 1080p with SDI inputs). This chipset manufacturer also refused to provide us technical data sheets on their HD chips as well.

  • Andrew

    This is awesome!
    Do you know how hard it is to find these things which even remotely work under Linux. I am incredibly impressed.

  • Curtis Hall

    Thanks!

  • http://hughbarbero.uni.cc Vashti Carosella

    Sitting in my living room topless…watching Fansty Factory and surfing the web. Life is good!

  • http://jjaiwj.com cool stuff

    I really loved reading your write-up. Thanks for the hard work and anxious about a lot more of your discussions.

  • http://dentistsinastoria.com dentist astoria

    Really enjoyed the write up. Was just what exactly I was on the lookout for. Thanks so much for showing this.