Установить чередование в 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. Но я не могу найти ничего относительно этого аспекта чередования.
Кто-нибудь может дать мне подсказку? Спасибо и добрые пожелания.
1 ответ
Наконец я нашел решение. Важно установить эти аспекты:
protocol = TransportProtocol.rtsp
MediaStreamInfo.Transport transp = MediaStreamInfo.Transport.Tcp;