I have a webcam that supports two modes: compressed (MJPEG
) and raw (YUY2
).
Now I need to stream a live feed to thin clients (slow CPU, some have a limited GPU), basically little IoT devices.
These devices are in the same LAN, so bandwidth is no issue. That's why our idea so far is to stream raw data so the clients don't have to decode it.
We put together the command
vlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=none,acodec=none}:standard{access=http,mux=ts,dst=:8080}'
which taps into the YUY2
as default. (This is basically Keep Original Video Track
in the GUI.) But it stops immediately with the following message
main decoder error: cannot create packetizer output (YUY2)
I know it is not possible to stream the raw video and I have to transcode it. But what would be the next best thing for our case?
Is there something like a not-compressing-but-still-encoding way that could be decoded with very little effort on the client side?