Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Очередное приближение к веб-морде видеогида

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

Теперь остается добавить в вебсокет-демон управления корректором захват кадров и передачу их клиенту, и будет уже нормальный интерфейс.
Tags: видеокамера, всячина
Subscribe

  • А как народ книжки покупает?

    Вот хочу почитать относительно свеженького Гонсалеса-Вудса. Читалки формата А4 у меня, к сожалению, нет. Смотрю на бумажную версию: 113 баксов(!!!)…

  • Qt-creator на нескольких мониторах

    Сижу, значит, пишу код. И внезапно ощущаю нехватку одновременно открытых как минимум четырех кусков кода! А на одном основном мониторе (хоть и 2560…

  • Электронщики поймут

    Для тех, кто придумал бессвинцовку, должен быть отдельный котел со свинцом! (не мое) Reposted from dreamwidth:…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments