3 ms·
This is nice, but has too many moving parts and ffmpeg-like approaches are _not_ the way to go for low-end desktop streaming--I tried doing that in unicast and
by rcarmo 4y ago
This is nice, but has too many moving parts and ffmpeg-like approaches are _not_ the way to go for low-end desktop streaming--I tried doing that in unicast and multicast scenarios quite a few times, and have a few notes on the results:
https://taoofmac.com/space/hw/raspberry_pi/streaming https://taoofmac.com/space/hw/raspberry_pi/streaming
Instead, I would have used Xrdp (which also works with xrandr) and the DirectFB RDP client instead, like I did ten years ago:
https://taoofmac.com/space/blog/2013/01/09/2339 https://taoofmac.com/space/blog/2013/01/09/2339
Even that far back, it worked _extremely_ well on a single-core Pi, and I suspect it would fly on a Pi 3. I used one recently to build a GPU-accelerated thin client:
https://taoofmac.com/space/blog/2022/08/14/2030 https://taoofmac.com/space/blog/2022/08/14/2030
...which I recently took to the next level by using xorgxrdp-glamor on the server side:
https://taoofmac.com/space/blog/2022/10/23/1700 https://taoofmac.com/space/blog/2022/10/23/1700
I think DirectFB already supports RemoteFX/GFX AVC:444 and all the other niceties that you get with xorgxrdp-glamor on the server side, and am willing to bet the whole thing would run a lot _faster_ and more efficiently than this solution all around, power and bandwidth-wise.
(this is being written in one such RDP client against a Fedora server, and I have YouTube open with audio streaming to the client... Which also works OK via Wi-Fi)
- pcouy 4y agoLooks really interesting. I'll make sure to check your notes and plog posts out.
- shrx 4y agoA long time ago when I was looking for a low latency solution for streaming _from_ the Pi (should also have a similar performance in the other direction), gstreamer[1] was the only usable option. [1] https://gstreamer.freedesktop.org/ https://gstreamer.freedesktop.org/
- rcarmo 4y agoThe Pi is _much_ better at decoding than encoding, though.