Capture video using your Raspberry Pi with this inexpensive capture card that also doubles as a HAT
This is a very interesting kit/HAT for the Raspberry Pi. Video capture usually requires machines that offer a decent amount of power so they can stream or convert an input signal into a video. However, due to the way the PiCapture is built and optimised, it connects straight to the Raspberry Pi’s VideoCore graphics processor, and is able to make full use of it for video capture.
This is the HD version of the PiCapture, which supports input via HDMI and component video. The HD and SD versions share the same connection to the Pi through the GPIO ports, and via the camera connector (CSI) port. This is important, as the CSI has a direct (and very high bandwidth) connection to the main BCM chip on the Raspberry Pi, which contains VideoCore. Installed like a HAT on the Raspberry Pi, PiCapture draws power from the GPIO ports, and can connect via I2C or UART. It also handily extends the GPIO pins above the board so you can use them for other tasks.
It’s an incredibly neat and well-thought-out design, and because VideoCore is the same in all versions of the Raspberry Pi, it will work on any Pi with a 40-pin GPIO port – even a Model A+. Raspberry Pi Zeros aren’t included on the spec sheet, but with a little modification and some creative balancing (it’s quite a bit wider than the Zero is), you could probably get it to work. With the form factor the way it is, though, you’d be better off with an A+.
With the hardware all attached, you can then record your video input. As this is done through the camera connector, you can use Camera Module software to preview and record the video; no extra software needed! It’s an incredibly smart way to do it as it also means it’s instantly usable in Python for more advanced projects and uses. A typical use would be to record video, and show a preview at the same time, so that you can watch the preview on your monitor or TV during recording.
As well as Python, you can use raspistill/raspivid on it, which is pretty good for making sure the input is working on the board.
This is unfortunately where the PiCapture’s limitations start to show. The video is smooth, the picture appears at the correct resolution, and there’s no discernible input lag, even while playing games. However, the colours are all a little bit off.
It’s a bit of a deal-breaker. With the right kind of video it won’t be noticeable, and if you’re a dab hand with the likes of Adobe Premiere, you should be able to tweak the colours to be more like the original. There’s also the matter of there being no sound recording capability, so you’ll have to marry up externally recorded sound with the video in an editing program. Unfortunately, there is no way for the CSI input to take sound as well as video, so it’s not the PiCapture’s fault.
It’s a little bit of a shame. Yes, compared to getting a full rig and video capture setup this is a lot cheaper, but it does require a little more work to make it look anywhere near as good. For content that doesn’t require exact colours it will do the job, but don’t expect to record perfect 1080p60 video from a HDMI source, especially as at 1080p, you will be limited to a 30fps recording.
For what it is, it’s still pretty amazing. It’s just limited by the mixture of hardware it is using to complete the task. As it works with Python, it could still be used to monitor specific video streams for motion, for example in a CCTV project. It also theoretically means it will work a bit better with the input from something like a DSLR or other video camera, as it feeds it straight through the CSI port.
A unique and well-thought-out piece of kit that unfortunately stumbles somewhat when it comes to the actual task of video capture.