Is there a way of capturing what is being displayed from the HDMI port of the Pi, as I’d like to be able to send a customer a preview of how it will look when playing on a screen.
Other than using some kind of HDMI capture card or something I don’t know how I can easily do this?
Maybe something like this?: https://www.amazon.co.uk/Globmall-Converter-Recorder-PlayStation-Microphone-Black/dp/B074Z3K8C1
Unfortunately not without extra hardware. The Pi isn’t fast enough to capture and encode its own output in real time. So you have to take the HDMI signal and feed it into another capture device. The linked one would probably do the job.
In the past I’ve toyed around with LKV373 HDMI extender (for some reason the official website triggers Chrome “dangerous content” warning, so I won’t link to that). I bought mine for 30€ or so.
It’s two parts. A transmitter (TX) and receiver (RX). Usually the TX grabs HDMI, sends it as broadcast over the connected ethernet and the RX decodes the network packets and generates HDMI again. The nice thing is that the TX output is raw H264 (IIRC). So it’s basically an HDMI->H264-over-Ethernet converter. It’s all quite hacky. Have a look at an older blog post that describes some of that: https://blog.danman.eu/new-version-of-lenkeng-hdmi-over-ip-extender-lkv373a/
I’ve successfully captured 720p with them (you can see the resulting videos in the bottom part of https://info-beamer.com/open-digital-signage-platform-for-the-raspberry-pi). But it’s not plug and play at all. You’re probably better off with something that’s actually supposed to capture a video.
Side note: The Multicaster Package has support for the LKV373: It tries to find the device in your local network, configures it to send its video output to the Pi which then forwards it as multicast to other devices. I wouldn’t recommend that for any production environment though as they sometimes lock up during reconfiguration for some reason.