Hi everyone!! So I was making some spring cleaning today and came across this capture card that I had installed in my last pc that I assembled brand new in 2015, this card was probably very old back then and but I had it laying around at home and decided to install it anyways but then didn’t really get into making it work, or using it for anything, due to the fact that I’m getting into analog video and obsolete tech I was wondering if anyone has any experience regarding these cards and possible use scenarios, and what software to use to actually use the card or if it is even usable, due to the fact that there might not even be drivers for these cards for windows 10.
Maybe it’s natively supported on Linux (you could check that without actually installing: Try Ubuntu before you install it | Ubuntu)
I’m curious to hear others, I’d be puzzled at the idea of using this card creatively (especially if paired with modern software).
i’ve had a mixture of entertaining and frustrating results working with stuff like this. usually what i did was have a couple of beater pc towers around with multi boot linux/windows xp/windows 7 hard drives on and then search russian torrent/warez sites for proprietary softwares if necessary. That looks like a pci card not pci-e so id bet that windows xp would be the place to start if theres no linux drivers sitting around.
I’m still getting around to writing up the notes:
PC Building At The End of The World
Which is intended as a guide for this sort of thing.
From memory, most of these older cards will work with any flavour of Linux (drivers are in the kernel, so doesn’t matter if Ubuntu or PopOS or Arch etc). They get registered as a V4L2 device and show up as a webcam-like device in OBS and other software.
On Linux there’s no auto-detect, so you must find and then enable the driver for the type of capture chip, with an argument for the PCI model.
The model seems important to the extent that the card has some way of making first contact (ie. on/off, hello world, begin) - followed by a standard way of communicating with the capture chip (ie. I2C).
Most common is the BTTV chips, aka Brooktree / Conexant - which are in most older CCTV capture and it looks like on this one too.
Finding the driver and model
Looking at this model it seems to be a Pinnacle PCTV, which we can find in the kernel here:
BTTV CARDLIST
=============
https://www.kernel.org/doc/html/v4.11/media/v4l-drivers/bttv-cardlist.html
PINNACLE DRIVER NOTES
=====================
https://www.kernel.org/doc/html/v4.9/media/v4l-drivers/bttv.html#pinnacle
Enabling it
From this we can use the shorthand id or number and enable it like so (where XXX is the ID of the card):
sudo modprobe bttv card=XXX
# creates a device located at /dev/video0 or 1, 2, 3 etc
FULL HOWTO GUIDE
================
https://tldp.org/HOWTO/html_single/BTTV
Enabling PAL / NTSE
It should now show up as capture device in OBS, but in 320x240px resolution.
I don’t have my full notes or a Linux PC to hand, but I remember that the BTTV driver seems to always default to 320x240px - despite the chip being capable of PAL and NTSE. And changing this inside OBS will only stretch the image.
Instead we can interact with the driver using v4l2-ctl
:
# LIST FORMATS
v4l2-ctl --device /dev/video0 --list-formats-ext
# LIST RESOLUTIONS
v4l2-ctl --device /dev/video0 --list-framesizes=UYVY
# LIST FRAMERATES
v4l2-ctl --device /dev/video0 --list-frameintervals=width=640,height=480,pixelformat=UYVY
# SET FORMAT
v4l2-ctl --device /dev/video0 --set-fmt-video=width=720,height=576,pixelformat=UYVY
Where that last one is close to what needs to be done to enable PAL or NTSE - and you’ll be able to see the difference in OBS.
Sidenote is that I’m against using older versions of Windows or Mac to use these cards - it’s a big hassle (installing and setting up the OS), and the process is opaque (ie. download a proprietary exe and cross fingers).
What is great about Linux is that once it’s in the kernel, it’s in the kernel forever - which is kind of beautiful.
An extension of the right-to-repair legislation should be: once your device driver no longer supports a new OS version, it must be open-sourced.