I'm trying to capture HDMI screenshots via the DSI camera interface of the Raspberry Pi using the module PiCapture-HD1 from Lintest systems https://lintestsystems.com/. This HAT-compliant module receives HDMI data up to FullHD (1080p) and converts them to DSI-compatible signals. The Raspberry Pi "sees" a module at DSI which is somehow compatible to the PiCamera modules. So commands like raspistill work out of the box.
All the video signals captured and provided by the PiCapture-HD1 module should be digital and so no picture information should get lost or be deformed (in colour etc.) as long as the PiCapture module runs inside its specifications.
But when I watch at the preview provided by the raspistill command I get a picture with less sharpness and colour changes. If a dark/black element moves inside the captured area the background will change in brightness and contrast. These picture errors can also be found in any captured picture file. It doesn't matter if it is a lossy JPEG file or a lossless PNG file.
You may download an example video named rpivid.h264.txt from the German Raspberry Pi forum https://forum-raspberrypi.de/forum/thre ... c-bcm28xx/ as file attachment. To view it on Windows 10 just rename it back to rpivid.h264 and load it into the VLC player. It was captured with the command
raspivid -v -t 10000 -p 0,0,1920,1080 -awb off -awbg 1.0,1.0 -o rpivid.h264
I think these picture errors result from optimisations the Raspberry Pi's GPU does. This might be useful for real cameras with a lens like the PiCamera modules. But for this fake-camera this behaviour will be counter-productive if I'm expecting real 1:1 pictures from the captured HDMI port. Is it possible to switch-off the GPU optimisation?
I have tried this with the command raspiyuv , too and even with the movie commands raspivid and raspividyuv (only preview). All the same!
And I have found the program https://github.com/6by9/raspiraw on github. I could compile it successfully on my Raspberry Pi 3B but due to missing camera sensors it stops with the following error message:
Code: Select all
Using i2C device /dev/i2c-0 RaspiRaw: Probing sensor ov5647 on addr 36 RaspiRaw: Probing sensor imx219 on addr 10 RaspiRaw: Probing sensor adv7282 on addr 21 RaspiRaw: Probing sensor imx477 on addr 1A RaspiRaw: No sensor found. Aborting