logo

v4l2-ctl

Хорошим тоном является указывать в названии файла разрешение и формат пикселей для сырых изображений, т.к. в самом файле не указываются параметры.

Пример получения изображения:

W=1920; H=1080; P=NV12; \
v4l2-ctl -d 0 -v width=$W,height=$H,pixelformat=$P \
--stream-mmap --stream-to=${W}x${H}-${P,,}.raw  --stream-count=5

Пример просмотра:

W=1920; H=1080; FPS=5; \
mpv --demuxer=rawvideo --demuxer-rawvideo-w=$W --demuxer-rawvideo-h=$H \
--demuxer-rawvideo-fps=$FPS \
--demuxer-rawvideo-mp-format=nv12 1920x1080-nv12.raw

К сожалению, для v4l2 указывается pixelformat в формате FourCC, а различные плееры (mpv, ffplay, cvlc) в другом формате. Как они соотносятся друг с другом -- загадака.

Получить все доступные форматы для mpv построчно можно следующей командой:

mpv --demuxer-rawvideo-mp-format=help | sed 's/ /\n/g'