$3.00/4 port Video Capture Card on Linux
So you wanted to run some video streams using the Linux OS. You noted in shopping for hardware that you could buy a single card with 4 video ports on EBay for around $3.00 plus $17.00 shipping. Hmm sounds almost too good to be true. Well it is true and the one I bought does work with Linux (Fedora or Centos and most likely any other Linux distro). The problem is that there is no explanation on how to get them to work. I Googled for over 3 weeks trying to get mine to work and gave up. Towards the end of a two week vacation I gave it another try and was successful.
Here is the solution to these cards based upon the following assumptions:
Assumptions:
- your only installed capture card is one of these 4 port cards – for explanation sake.
- you are running a current distro/kernel of Linux
How it works
- install your card and boot your Linux box
- log in as root
- dmesg | grep video –> should see registered device video0
- note that in the above that Linux identifies video0 – thats vide_OH_ZERO (if you have another device installed then Linux might identify this as video1, etc.)
Linux looks at this device as a single device with multiple channels, i.e., channels 0~3 (note zero relative), so you need to define video0,0; video0,1; video0,2; video0,3 in your video application(s).
If you are using Zoneminder on Linux do the following in the web interface for Zoneminder:
- “add a new monitor”
- “General” tab: the name you want, local, Modect, Enabled “checked”,
- “Source” tab:
Device Path: /dev/video0
Device Channel: 0
Device Format: NTSC
Capture Palette: RGB24
Height: 320
Width: 240
Save it.
Now for the next camera do the same, only this time make its channel=1.
Do again for the next port/camera – channel=2
Do again for the next port/channel – channel=3
If you are not using Zoneminder then the application you use will probably define a “channel” attribute. Just assign channels 0~3 to your applications channel attributes.
My confusion was that I was expecting Linux to see video0, video1, video2 and video3. Not true.
It would have been nice if the vendor provided a small “readme” on this card as it pertains to Linux. It would probably boost their sales.
Entries (RSS)
Thanks for this info.
Can you tell me what frame rate you get per camera and is it adequate for zoneminder motion detection?
Do you happen to know the eBay description / manufacturer to search for?
Thanks
Ian
With 3 cameras I am getting about 3.33 fps/per camera. It is adequate with Zoneminder’s motion detection. I looked on Ebay for these cards but cannot locate any. I had purchased my card over a year ago. There was one that looked quite similar for around $44.00 + S&H. You might be interested in looking at http://store.bluecherry.net. They offer more expensive cards which are both Linux and Zoneminder compatible and which deliver 120 fps although I do not know if that is per channel or divided by 4.
Thanks for the ramble. This got my 99p card working with all four cameras.
My card does not get recognised at boot up, so it is necessary to specify by modprobe:
root# rmmod
root# modprobe bttv card=77
This can be added to the /etc/module/bttv file to get it to set it at boot-time. (Add the line: option bttv card=77)
It was very confusing until I read the above article to realise that there is only one device (/dev/video0) but four channels.
I got the ‘motion’ cctv system to work fine by simply setting the channel (0 thru 3) for each camera in the ‘motion’ config.
Happy it worked out for you.