Я ищу инструмент командной строки, который может сделать снимок с веб-камеры как можно быстрее и записать его на стандартный вывод. Кроме того, я хотел бы иметь возможность указать параметры, такие как формат ввода, разрешение и формат вывода.
Моя первая попытка была ffmpeg:
ffmpeg -f video4linux2 -video_size 1920x1080 -input_format yuyv422 -i /dev/video0 -f image2 -frames:v 1 -qscale:v 2 pipe:1
Однако это имеет два недостатка:
Для записи изображения в стандартный вывод требуется около 3 секунд, что, по-видимому, связано со временем, которое требуется для инициализации веб-камеры.
Снимок, сделанный таким образом, довольно темный, вероятно, веб-камера должна захватывать видеокадры для регулировки яркости и т.д.
Моя следующая идея - непрерывно захватывать видеокадры с веб-камеры (т. Е. «Держать веб-камеру активной»), передавать эти видеокадры куда-нибудь, а затем захватывать отдельные видеокадры и преобразовывать их в изображения по запросу. Тем не менее, я не знаю, как это сделать (и если есть лучший способ).
РЕДАКТИРОВАТЬ: мне нужна одноразовая команда, которая записывает изображение в стандартный вывод, поэтому я могу использовать его на сервере http для обслуживания запроса HTTP GET. Это должно быть быстро, потому что фотографирование блокирует механический процесс в машине.