eddy_em: (Костерок)
[personal profile] eddy_em
Сейчас добил (надеюсь) клиент-серверную часть захвата изображений с видеоустройства (при помощи libffmpeg, чтобы не мучиться больше с v4l2).
Код — как обычно, в моих репах (гитхаб, сосфорж).
Пока что никаких настроек нет, демон просто открывает на заданном порту сокет и при подключениях плюет туда на каждый запрос изображение (raw, jpg или png).
Если запрос идет из браузера (т.е. со всеми соответствующими заголовками), то выдается просто файл (чтобы можно было делать псевдо-mjpeg трансляцию средствами жабоскрипта). В этом случае анализируется суффикс имени файла, который мы запрашиваем в GET, соответственно и высылается jpeg или png файл.
Если же нужно в каком-то промежуточном софте сделать запрос, то серверу надо сообщить, какой тип файла мы ожидаем (отправив ему "raw"/"jpg" или "jpeg"/"png"). В ответ придет файл, к которому будет "прислюнена" шапка: {тип файла}'\n'{размер файла}'\n' (для формата RAW вместо размера файла указывается размер изображения). Прочитав шапку, можно выделить буфер нужного размера, воткнуть туда начало изображения и дописать уже остатки. А можно и наплевать на шапку, делая realloc при необходимости.
Помимо демона я для тестов сделал простого клиента, позволяющего забрать N кадров и сохранить их на диске.

Теперь остается добавить в вебсокет-демон управления корректором захват кадров и передачу их клиенту, и будет уже нормальный интерфейс.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 06:08 pm
Powered by Dreamwidth Studios