Как и в моих предыдущих вопросах, я пытаюсь создать простой трекер глаз. Решил начать с версии Linux (запустить Ubuntu).
Для выполнения этой задачи необходимо организовать экранирование и захват веб-камеры таким образом, чтобы кадры из обоих потоков точно совпадали, и в каждом из них было одинаковое количество кадров.
Показ кадров в секунду полностью зависит от частоты кадров камеры, поэтому каждый раз, когда мы получаем изображение с веб-камеры, мы можем потенциально захватывать кадр экрана и оставаться довольными. Однако все инструменты для быстрого показа экрана, такие как, например, ffmpeg, возвращают файл .avi в качестве результата и требуют запуска уже известного fps.
С другой стороны, таким инструментам, как Java + Robot или ImageMagick, по-видимому, требуется около 20 мс, чтобы вернуть скриншот .jpg, что довольно медленно для задачи. Но они могут запрашиваться сразу после каждого захвата кадра веб-камеры и обеспечения необходимой синхронизации.
Итак, подвопросы:
- Изменяется ли частота кадров камеры USD в течение одного сеанса?
- Существуют ли какие-либо инструменты, обеспечивающие быстрое покадровое вещание?
- Есть ли способ заставить ffmpeg выдвигать новый кадр в файл .avi только тогда, когда программа инициирует этот запрос?
Для своей задачи я могу использовать C ++ или Java.
На самом деле я дизайнер интерфейса, а не программист драйверов, и эта задача кажется довольно низкоуровневой. Буду благодарен за любые предложения и советы!