Как организовать OSD для IP камеры

xmailer

Подскажите алгоритм, направление по следующему вопросу: в сети есть IP камера, необходимо организовать osd систему, т.е. взять видеопоток с IP камеры, нанести данные датчиков, отдать видеопоток в сеть, т.е. фактически ретрансляция видеопотока с нанесение дополнительных данных (текстовых - гуд, графических - супергуд). Видится два варианта реализации:

  1. программный. Пробовал связку linux+ffmpeg+DrawText filter. К сожалению фильтры ffmpeg работают только при записи в файл: беру поток, накладываю текст+пишу в файл-все ок. При попытке писать на выходе в видеопоток фильтр просто отсутствует. Писал разработчикам , да такой баг существует. Другого программного обеспечения с нужным функционалом не нашел.

  2. аппаратный. немного работал с OSD системой построенной на max7456. Но все osd системы построены на аналоговом сигнале. Как работать с ip камерой: tcp пакеты декодить в аналог пропускать через max и опять кодить в tcp, на первый взгляд только это приходит на ум. Возможно есть аналог max-а для цифровых видеоданных.

Вот здесь примерно то что мне нужно, но как они это сделали не понятно. Буду благодарен за любую информацию.
Спасибо.

msv

Про linux не ведаю, а под виндой- DirectShow. Задачка не самая простая, но имхо вполне решаема.

Dinotron

Видеопоток отдельно, телеметрия отдельно, причём у телеметрии приоритет. Передаётся хоть по одному каналу, хоть голубиной почтой. Складывается программно на конечном устройстве. Не? Или вы с нечто собрались передавать полностью обработанный видеосигнал по ютубу или торренту? Достойно.

xmailer
msv:

Про linux не ведаю, а под виндой- DirectShow. Задачка не самая простая, но имхо вполне решаема.

почитал про DirectShow, я так понял, что в основном он используется для видеозахвата+обработки+воспроизведения/записи. На одном из форумов было обсуждение трансляции видеопотока с помощью фильтра Direct Network, но обсуждение зашло в тупик, задача для DirectShow не типовая.

Dinotron:

Видеопоток отдельно, телеметрия отдельно, причём у телеметрии приоритет. Передаётся хоть по одному каналу, хоть голубиной почтой. Складывается программно на конечном устройстве. Не? Или вы с нечто собрались передавать полностью обработанный видеосигнал по ютубу или торренту? Достойно.

Наверное я неверно объяснил:
Дано:

  1. в локальной сети есть ip камера, которая смотрит на проходную на территорию нашего предприятия (видео с данной камеры доступно, например по адресу 192.168.1.27/mjpg/video.mjpg)
  2. данная проходная снабжена RFID reader-ом и проходя через проходную работники фиксят свой проход карточкой, что пишется в базу предприятия
  3. данная проходная снабжена системой распознавания номеров а/м, распознанные номера также пишутся в базу предприятия
    Задача:
  • захват видео с 192.168.1.27
  • нанесении текстовой информации вида: сколько работников прошло с начала смены, машин проехало, из каких подразделений …
  • организовать видеопоток с телеметрией по адресу 192.168.1.28
    Итого
  • зайдя на 192.168.1.27 смотришь обычное видео, на 192.168.1.28 видео с телеметрией
msv
xmailer:

задача для DirectShow не типовая.

Из готовых фильтров DS конечно вряд ли такое можно сделать. Ну а написав свои, возможности практически не ограничены…

Dinotron

Задачка-то вроде 100500 раз решённая. Большой брат бдит! А вам и видео не нужно. При получении рфида прикладывать фотку с камеры и таймкодом. Ну а весь видеопоток сохранять отдельно на случай особого интереса Большого Брата.