howto_onvif_ru


Спецификация ONVIF - детали реализации


Previous Entry Share Next Entry
Live555 и все-все-все
fall, evil, emotions, angel, heaven
ran_dom wrote in howto_onvif_ru
Для обмена медиаданными с устройством нужна библиотека для работы с rtp/rtcp/rtsp/http протоколами. И в устройствах, и в клиентах популярна библиотека live555.
Библиотека очень популярна и вне видеонаблюдения, например популярный плеер VLC основан на ней и использует ее для проигрывания по сети и трансляций по сети.
С ним есть несколько проблем:
 1 - он не поддерживает, и не будет поддерживать ipv6. Хотя дизайн предусматривает инкапсуляцию работы с сокетами и ip-адресами, реально адреса в большей части кода передаются как целые числа. Наш патч, который это исправляет в клиентской части - около 80 килобайт, наша оценка на исправление серверной части вдвое/втрое выше.
 2 - не поддерживает aspect ratio для jpeg. Корректное исправление требует мелких переделок в разных компонентах.
 3 - не поддерживает высокие разрешения (более 2048 точек по ширине или высоте) для jpeg (расширение ONVIF). Переделка требует заметных изменений.
 4 - работа rtsp уровня в режиме мультикаста, похоже, не совсем совместима со стандартом. Детали мы так и не раскопали, но требуются мелкие правки для совместимости с важными игроками.
 5 - разбор элементов rtsp и http сделан на основе строковых сравнений с учетом регистра и регулярных выражений по шаблонам из примеров в спецификациях. Удивительно что это вообще работает. Видимо, другие разработчики или вдохновляются теми-же источниками, или тестируют совместимость с live555.

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


?

Log in