internal/v4l2/README.md
What you should to know about V4L2:
Tests show that the basic Keenetic router with MIPS processor can broadcast three MJPEG cameras in the following resolutions: 1600х1200 + 640х480 + 640х480. The USB bus bandwidth is no more enough for larger resolutions. CPU consumption is no more than 5%.
Supported formats for your camera can be found here: Go2rtc > WebUI > Add > V4L2.
Example:
streams:
camera1: v4l2:device?video=/dev/video0&input_format=yuyv422&video_size=1280x720&framerate=10
Go2rtc supports built-in transcoding of RAW to MJPEG format. This does not need to be additionally configured.
ffplay http://localhost:1984/api/stream.mjpeg?src=camera1
Important. You don't have to transcode the RAW format to transmit it over the network. You can stream it in y4m format, which is perfectly supported by ffmpeg. It won't cost you a CPU usage. But will require high network bandwidth.
ffplay http://localhost:1984/api/stream.y4m?src=camera1