

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.




Holy overengineering, Batman. IP addresses of all things are trivially parseable into fixed-length byte sequences. Just do that and use a search tree. Or, IDK; this is an extremely solved problem, there are probably even better solutions out there – but I promise you text regex is involved in none of the good ones.
Even for actual string matching, any decent regex engine will compile and optimise an alternation
a|b|c|...better than this text wrangling will. Unless you have actual benchmarks showing this gives you an advantage with the engine you’re using, you’re just introducing complexity for no gain.