Перейти к содержанию

RTSP / RTP

Анализ RTSP трафика при запросе потока с IP камеры

Используем фильтр 'rtsp', чтобы получить RTSP трафик между WCS и IP камерой

RTP трафик от RTSP IP камеры

После установки соединения по RTSP, от камеры начинает идти обычный RTP трафик

Далее, если отфильтровать этот же дамп по UDP и воспользоваться инструкциями раздела Анализ SRTP трафика, можно обнаружить что от WCS-сервера к браузеру идет SRTP трафик. Если вы при этом видите видео в браузере, это означает что RTP трафик с IP камеры в результате успешно установленного RTSP-соединения приходит на WCS сервер и далее конвертируется в WebRTC / SRTP трафик для отображения в браузере.

Возможные неполадки

Если RTSP и RTP трафик не будет проходить между WCS-сервером и IP-камерой, видео с камеры не будет отображаться в браузере. Скорее всего, будет только черный экран.

Устранение неполадок

Как правило камеры устанавливаются в локальной сети за NAT, поэтому для беспрепятственного подключения к IP ккамере по RTSP требуется добавить два правила NAT на вашем маршрутизаторе, к которому подключена данная камера. Например в маршрутизаторе Zyxel, эти настройки будут выглядеть так:

Здесь 192.168.1.41 - это IP адрес камеры в локальной сети. Маршрутизатор говорит, что при обращении на данные порты он будет перенаправлять RTSP запросы IP-камере.

Далее, если вам известен ваш внешний IP адрес, при обращении по этому адресу, например rtsp://9.9.9.9:554, вы попадете на RTSP-порт вашей камеры.

Если что-то не получается, проконсультируйтесь с вашим интернет-провайдером. Если у вас динамический IP, вы можете воспользоваться сервисом динамического DNS. В этом случае можно будет обращаться по имени хоста и не следить за изменениями IP-адреса, например rtsp://myhost.noip.com:554.

Если весь трафик ходит, а видео все равно не отображается и в логах много ошибок, сигнализирующих потерю пакетов, проверьте MTU. Некоторые IP-камеры отправляют достаточно крупные UDP пакеты с видео, которые могут иметь проблемы с преодолением MTU роутера. Используйте для этого команду

ping -f -l 1460 8.8.8.8

Здесь 8.8.8.8 - любой внешний хост, который отвечает на пинги

Если пакеты не проходят, выполните ту же самую проверку с роутером:

ping -f -l 1460 192.168.1.1

где 192.168.1.1 - это адрес роутера. Если до роутера такие пакеты доходят, а до внешнего хоста не доходят, то это говорит что на стороне роутера недостаточно большое MTU. В этом случае воспользуйтесь настройками роутера чтобы увеличить его до стандартного значения 1500. Например для Zyxel можно установить MTU в консоли:

telnet 192.168.1.1

>show interface ISP
>interface ISP ip mtu 1500
>system config-save

В данном случае 'ISP' - это сетевой интерфейс на роутере к которому подключен кабель интернет-провайдера.

Если же по команде

ping -f -l 1460 192.168.1.1

пакеты не доходят даже до роутера, проверьте MTU в вашей операционной системе. Например у Windows MTU задается в системном реестре.