Блог
Что генерирует IP-камера
аналоговых камер на приемник поступает телевизионный сигнал, его можно увидеть при помощи осциллографа. А что приходит на приемник с IP-камер?
Изначально IP-камеры создавали отдельные файлы – JPEG-изображения. Таким образом, система IP-видеонаблюдения функционировала так: IP-камера делала кадр, сжимала его в JPEG и отправляла по заданному web-адресу, например:

Компьютер взаимодействовал с камерой и загружал изображения, подобно тому, как мы загружаем фотографии с web-сайтов в интернете. Камера обновляла изображение несколько раз в секунду, поэтому компьютер получал актуальные кадры.
В настройках камеры этот метод обычно называется JPEG over HTTP, и его до сих пор используют во многих современных камерах.
Включите на камере этот режим и введите адрес размещения JPEG-файла в адресной строке браузера (адрес можно найти в руководстве на вашу IP-камеру). При нажатии F5 или кнопки «Обновить» вы увидите, как картинка в браузере поменялась. В регистраторе происходит всё по тому же алгоритму: только он обновляет изображение несколько раз в секунду и еще записывает результаты.
Таким образом Функционировали старые системы видеонаблюдения. Однако сейчас этот метод встречается не часто, поскольку потоковые алгоритмы сжатия и методы передачи видео становятся более популярными. Ключевые представители потоковых алгоритмов сжатия – MPEG4 и H.264. Они в отличие от JPEG, сжимают не отдельные изображения, а последовательность кадров, фиксируя только изменённые фрагменты. Основной механизм передачи потока – протокол RTSP.
RTSP
Это прикладной протокол, позволяющий управлять видеопотоком и выполнять такие действия, как запуск, пауза и остановка трансляции мультимедийного контента. Оператор отправляет команды серверу или камере, и информация в реальном времени передаётся через данный управляющий видеопотоком протокол.
Так выглядит запрос старта воспроизведения.

RTSP состоит группы команд, управляющих видеопотоком.
Давайте проведём эксперимент. Потребуется цифровая камера, поддерживающая данный протокол и её RTSP-адрес. Этот адрес обычно имеет вид rtsp://<ip-адрес камеры>/mpeg. Он обычно находится в руководстве на видеокамеру или в описании API. Для наглядности, удобства и на будущее разместим данные адреса для некоторых популярных видеокамер в таблице.

Как только найдете RTSP-адрес своего видеоустройства, откройте один из стандартных проигрывателей, который поддерживает RTSP. Например, QuickTime, Windows Media Player, VLC media player, RealPlayer или MPlayer.
Выберите любой из них и зайдите в меню «Файл > Открыть URL», затем введите RTSP-адрес, который нашли. Проигрыватель подключится к видеокамере и покажет «реальное видео».
Записывающие устройства систем цифрового видеонаблюдения получают видео либо по протоколу HTTP, либо через RTSP.
В настройках цифровых камер передача потока видеоданных может быть обозначена как RTSP over TCP, или как RTSP over UDP или просто RTP. Что это значит?
TCP, UDP и RTP – это протоколы для транспортировки, фактически и передающие видеоданные.
TCP
Во время передачи на уровне транспортных механизмов с использованием RSTP over TCP выполняются следующие действия:
1. При помощи нескольких команд предварительное установление соединения между источником и принимающим устройством.
2. Начало передачи видеоинформации.
3. Контроль механизмов TCP для обеспечения доставки данных без искажений и в правильной последовательности.
4. Регулировка скорости передачи данных, чтобы источник не отправлял данные быстрее, чем их сможет обработать приёмник.

UDP
UDP – это альтернативный вариант TCP. Чем он отличается от TCP?
В UDP не предусмотрена установка предварительного соединение. Он сразу начинает передавать информацию. Этот протокол не контролирует полученные данные, их не дублирует в случае ошибок или потерь. Поэтому UDP считается менее надёжным, чем TCP. Однако он быстрее передает данные из-за того, что не передает повторно потерянные пакеты.
Чтобы увидеть разницу между протоколами, можно провести простой эксперимент. Переведите видеокамеру в режим RTSP over TCP и помашите рукой перед объективом. На мониторе будет видна задержка. Повторите это действие после перевода камеры в режим RTSP over UDP. Время задержки уменьшится.
Задержка зависит от разных факторов: особенностей ПО, участвующего в декодировании видеоданных, мощности ПК, вида формата сжатия и протокола передачи.
RTP
Протокол специально разработан для передачи информации в реальном времени. Он синхронизирует передаваемые данные, занимается корректировкой последовательности доставляемых пакетов. Это идеальный вариант для передачи видео- и аудиоинформации.
Для передачи видео чаще всего рекомендуют использовать RTP или UDP. Если же возникает необходимость работы в проблемных сетях, то для этого часто используют TCP, так как он способен исправлять ошибки и возможные сбои, возникающие при передаче пакетов с видеоданными.