Я хочу захватывать видео с веб-камеры (сохранение в файл), время от времени получая самый последний кадр (из кода python). Есть ли способ сделать это на Linux?
Что я пробовал:
# Capture Video:
ffmpeg -f v4l2 -framerate 30 -video_size 1024x576 -i /dev/video0 myvideo.mp4
...
# In another terminal, try to capture the latest still frame:
ffmpeg -sseof -3 -i myvideo.mp4 -update 1 -q:v 1 current_frame.jpg
Но я получаю различные ответы от этой последней команды, такие как
Cannot use -sseof, duration of myvideo.mp4 not known
и
[matroska,webm @ 0x55e1aae26900] Duplicate element
Last message repeated 2 times
Дополнительные примечания / ограничения:
- Должна быть возможность управления решением от python (например, вызов
ffmpeg
через subprocess.Popen
) до (a) начала записи, (b) получения кадров в произвольных точках, (c) прекратить запись. - Кадр не должен быть точным. Кадр за последние пару секунд в порядке.
- В порядке любой формат контейнера (mkv, mp4 и т. Д. c.)
- В порядке другие программы, не только
ffmpeg