Displaying HDMI streaming contents on the LED signboard

I have mainly used OpenCV and Pillow to create content for LED signage. However, there are cases where live streaming is required. To show TV, PC, Youtube content on the LED signboard in real time, show the HDMI output data of these devices on the LED signboard.
For this, I bought an HDMI capture card from Ali Express. The price is not too expensive, around $10. This product has a function that converts HDMI signals to USB and transmits them. It works very similarly to a webcam. There is no difference between this device and the webcam from the perspective of the Raspberry Pi that receives the USB signal. Therefore, it can be treated the same as handling a webcam.

And the following picture shows the PC screen displayed on the LED signboard using this HDMI capture card. Displays the PC screen in real time. In the test, a small size of 128X64 was used, but if a high-resolution LED signboard is used, a much cleaner output will be possible.
And one of the biggest advantages of this method is that audio output is also possible. The audio transmitted through HDMI can be used on the Raspberry Pi, or the audio output of the side that transmits the HDMI signal can be used directly.

There is a detailed explanation and example code at LED-12. Displaying HDMI Contents.


very cool! thanks for sharing!

I totally agree with you.
In particular, content via HDMI is generally 720p or higher resolution. Therefore, I think that the LED signboard can show the contents properly if the resolution is at least VGA or higher.
Raspberry Pi’s computing power is limited, and Electrodragon’s HAT product supports only three paralleled connections, so those who want to make high-resolution LED signage need to use several Pis.

I also worked on making a high-resolution LED signboard using several Pis. I hope that the following articles will be helpful to those who want to make a high-resolution electronic signboard.

LED-11. Make a very big size 384 X 512 RGB Matrix #1
LED-11. Make a very big size 384 X 512 RGB Matrix #2
LED-11. Make a very big size 384 X 512 RGB Matrix #3
LED-11. Make a very big size 384 X 512 RGB Matrix #4
LED-11. Make a very big size 384 X 512 RGB Matrix #5
LED-11. Make a very big size 384 X 512 RGB Matrix #6


Do you have a video of LED-12. Displaying HDMI Contents running?

Hi GregT
Sorry. I don’t have video files.
I just take pictures of the LED sign board.

this is really cool!

Hey, I am still trying to make this work, but I am not able to get done. I got my adapter but the RPI4 not showing on the terminal so I can continue working on the project.

Do you know why my adapter is not recognized on the rpi ?

This is the spec of the adapter i have
USB to HDMI display adapter, black Features USB 3.0 to HDMI video adapter cable
Supports resolutions up to 1920 x 1080 @ 60 Hz

Interface: USB 3.0 Type-A male / HDMI-A 19 pin female
Chipset :
Supported functions: Extend, Mirror
Supported resolutions: max 1920 x 1080 pixels @ 60 Hz
Downwards compatible to USB 2.0 (maximum resolution 800 x 600 @ 60 Hz)
Signal transmission: audio + video
Cable length: 15 cm

Hi @stefanmkd01 stefanmkd01

You can test the HDMI to USB device using S/W like VLC Player.
I’ve explained in my article.
First check whether the HDMI device works well using VLC Player. If Rpi does not detect the HDMI-USB device, you would rather buy another one.
If VLC Player works well, then test with LED matrix and LED hat from Electrodragon or Adafruit.

@raspberry.pi.maker so after reading your blog post and seeing a giant sized pac-man at my local arcade, you got me inspired to do something similar. Now i can build, wire and run basic code on a RPi but there seems to be more to this then just running a script. I was wondering if you could dive in a little deeper on this when starting from scratch. this is probably asking a lot and maybe to much. but between adafruit, github library and your post i haven’t been able to fill in the missing parts. very new to this community, thanks in advance.
more images: Imgur: The magic of the Internet

my proof-of-concept, although this is with a RPi-2 and using the adafruit code mirroring the hdmi display

haha, reminds me of the one I made for my outfit:

1 Like

Hello guys,

I have followed your tutorial about getting an image from laptop.
But I have a problem,

I did install everything as the guide and placed hdmi.py to run but my image is not clear and it shows like all the panels are separate.

This is my result : my image is not clear at all and has a lot of flickering.
I tested on few RPI4 and Hdmi Adapters and its still the same.
and for os i am using DietPi from the official website, also I have the same problem with GUI (desktop) and only Terminal.

Hi stefan

It seems that the problem is not HDMI, but the wiring.
Did you test the LED panel with any other sample program?
And how many panels did you use? One or four?

Same as the guide, I am only using 4 panels, and its wired same as the guide
2 ports with 2 led panels

I try to use the runtext.py i am getting the text but its duplicating it reading like separate

Even If I use only one panel

If you use a ElectroDragon HAT and 64X32 size LED that use 1/32 multiplexing,
you should do one jumper setting for the HAT.
If 1/16 multiplexing, don’t have to do the job below.

Pls see Driving 6x64x64 Matrix's from a single Pi? · Issue #989 · hzeller/rpi-rgb-led-matrix · GitHub.
Since the pin arrangement of Electrodragon’s HAT may have changed , please refer to the picture of the URL and test the jumper settings with several combinations.