Ok you have a valid point. I am going to now do the following:
- Compiling hyperion on my rpi4 and will test with the USB camera
- Attach USB camera to Windows PC and check latency
- I have ordered a rpi camera module and will test results
The reason why I want to trial the two rpi method is because another use on the forum has been successful using this method and as seen in the video, he is sending the stream from one rpi to another and latency seems minimal. Also, I wanted to go wireless for the camera for better positioning in the other corner of the room and minimal visibility of the camera and cables. Let me know what you think..
[MEDIA=googledrive]1FrkTOLvQ0xAVKE_ufErxC_CLmBWwgXdk[/MEDIA]
How did you watch the video of your usb cam? If you streamed it via LAN, there may be some buffering in the software (like vlc). Unfortunately, the ffmpeg approach didn't work for me. Streaming the complete video was too much data and induced a noticable latency (of around half a second). I wrote a little python script that streams and transforms using opencv (the biggest challenge is to get opencv installed on a RPi - but plenty of guides are out there). In my python script, only a matrix of 160x90x3 is transferred via Protobuffer. This reduces the latency induced by transforming the imange and transferring the data to around 1/25th of a second (i.e., one frame), which is acceptable in my opinion. I would have posted the code in a git repository, but I am still struggeling with the color calibration of my ps3eye camera and I hope to find a suitable color correction. If somebody is still interested to use the code before I am finished, please write me a PM or here and I try to publish the code as it is.