

I’m no expert but I believe ffmpeg will be using the rawvideo decoder to read that file. If it appears to work I guess the stream output by v4l2-ctl happens to match up closely enough with the default parameters listed in that doc, you may want to work out what it is and double check compatibility though.
The difference from a regular container is that it’s uncompressed (hence the size) and can’t include any metadata (hence the need to specify parameters manually). v4l2-ctl writing in this format means it doesn’t need to worry about compressing and encoding the video on-the-fly, which would complicate the implementation and might not always be feasible in real-time.
If you wanted to avoid the intermediate file you should be able to pipe v4l2-ctl directly into ffmpeg.
I’m not arguing against your username, but this article is about an Israeli malware campaign using ad bids to specifically target itself towards Starlink users. There’s nothing about Starlink itself being complicit.
I’d think if Starlink wanted to surveil their users (they probably do) they could find a more direct route than this (they probably have).