Я работаю с IP-камерой на основе стандартов onvif. Сценарий следующий:
Порты RTP и HTTP — 22554 и 22280 соответственно. У меня нет проблем с этим, я перенаправляю трафик из A в B через эти порты, чтобы добраться до камеры. На самом деле сеанс RTP установлен корректно.
Проблема появляется в сообщении SETUP. Здесь A (который запускает сеанс) устанавливает новый порт (порт клиента) для соединения UDP для обмена видео. Точно так же камера устанавливает новый порт (порт сервера). Поскольку порты сервера не перенаправлены в B, я ничего не могу получить.
Я читал, что есть возможность использовать режим чередования, чтобы использовать тот же порт, который используется для сообщений RTSP (в данном случае 22554) для видеопакетов. Но я не знаю, как это сделать. Например, VLC пробует первый вариант (новые порты клиент-сервер), и, поскольку он не работает, он успешно настраивает другой сеанс rtsp с режимом чередования.
Я начал работать с этим кодом (http://bit.ly/1Xvwqx9), который основан на библиотеках Onvif. . Но я не могу найти ничего об этом аспекте чередования.
Кто-нибудь может дать мне подсказку? Спасибо и добрые пожелания.