Установите чередование в RTSP с IP-камерой (стандарт Onvif)

Я работаю с IP-камерой на основе стандартов onvif. Сценарий следующий:

введите здесь описание изображения

Порты RTP и HTTP — 22554 и 22280 соответственно. У меня нет проблем с этим, я перенаправляю трафик из A в B через эти порты, чтобы добраться до камеры. На самом деле сеанс RTP установлен корректно.

Проблема появляется в сообщении SETUP. Здесь A (который запускает сеанс) устанавливает новый порт (порт клиента) для соединения UDP для обмена видео. Точно так же камера устанавливает новый порт (порт сервера). Поскольку порты сервера не перенаправлены в B, я ничего не могу получить.

Я читал, что есть возможность использовать режим чередования, чтобы использовать тот же порт, который используется для сообщений RTSP (в данном случае 22554) для видеопакетов. Но я не знаю, как это сделать. Например, VLC пробует первый вариант (новые порты клиент-сервер), и, поскольку он не работает, он успешно настраивает другой сеанс rtsp с режимом чередования.

Я начал работать с этим кодом (http://bit.ly/1Xvwqx9), который основан на библиотеках Onvif. . Но я не могу найти ничего об этом аспекте чередования.

Кто-нибудь может дать мне подсказку? Спасибо и добрые пожелания.


person bilbinight    schedule 27.11.2015    source источник


Ответы (1)


Наконец я нашел решение. Важно установить эти аспекты:

protocol = TransportProtocol.rtsp
MediaStreamInfo.Transport transp = MediaStreamInfo.Transport.Tcp;
person bilbinight    schedule 01.12.2015