faq обучение настройка
Текущее время: Пт июн 27, 2025 23:59

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Чт май 12, 2011 13:10 
Не в сети

Зарегистрирован: Вс фев 27, 2011 16:29
Сообщений: 33
Уважаемая техподдержка!
Имеем камеру DCS-2102. В ней имеем протокол RTSP. И меем известную проблему: Локально камера по этому протоколу работает, из интернета нет (только по HTTP).
Долгие танцы с бубнами, чтение умных книжек, и просмотр утилитами открытых и запрашиваемых портов на компьютере дали следующий результат:

1. Камера находится в локальной сети за роутером (NAT), и имеет локальный IP адрес (предположим 192.168.1.5).
2. Роутер имеет внешний (интернет) IP адрес (предположим 80.80.80.80). На роутере (для эксперемента) все порты проброшены на нашу камеру (DMZ).
3. Из умных книжек узнаём, что сам протокол RTSP транспортом для видео не является, по нему лишь осуществляется передача команд управления потоком с клиента на сервер (на камеру). На камере по умолчанию имеет номер порта 554.
4. Сам же поток передаётся вероятно посредством RTP, номер порта которого не определён стандартом и может находиться во всём множестве портов UDP, но в этой камере опытным путём установлено, что порт назначается начиная с 5004.
5. В дополнение в RTP, идёт ещё протокол RTCP, по которому передаются управляющие пакеты. Его номер всегда идёт следующим нечётным числом за портом RTP. В данном случае это будет 5005.
6. Итак на компьютере из интернета я ввожу адрес вида RTSP://80.80.80.80/play1.sdp
7. Запрос успешно проходит через роутер к камере. Камера по этому же каналу (RTSP) передаёт обрано параметры потока (адрес и порты RTP и RTCP).
8. Эти параметры успешно доходят до компьютера в интернете, и он по ним пытается установить сессию к потоку камеры.
9. И вот тут происходит ОБЛОМ. Камера не знает что она сидит за NAT, и не знает внешний адрес WAN (80.80.80.80). В инициализации сессии по RTSP, она передала нам адрес для RTP и RTCP вида: 192.168.1.5 с портами 5004 и 5005 соответственно.
10. Естетственно наш бедный компьютер в интернете пытается подключиться к потоку 192.168.1.5:5004, и у него ничего не выходит. Поток не передаётся.

Итак внимание.
Уважаемая техподдержка, внесите пожалуйста изменение в прошивку, чтобы в настройках камеры помимо её локального адреса, можно было вручную указать IP адрес, который она будет предлагать в RTSP сессии.


Проблема не высосана из пальца, и она масштабна:
http://forum.dlink.ru/viewtopic.php?f=13&t=137361
http://forum.dlink.ru/viewtopic.php?f=13&t=138784
http://forum.dlink.ru/viewtopic.php?f=13&t=138916
И никакой DMZ, проброс портов, и прочие пляски тут не помогут. Нужно чтобы камера при инициализаци RTSP передавала не свой локальный IP адрес, а внешний (IP адрес WAN порта роутера). Я не претендую на звание мегамозга, и вы можете меня поправить если я ошибаюсь в суждениях.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт май 13, 2011 08:14 
Не в сети

Зарегистрирован: Вс фев 27, 2011 16:29
Сообщений: 33
(Изменено с учётом логов сниффера трафика на стороне удалённого компьютера в интернете)

1. Камера находится в локальной сети за роутером (NAT), и имеет локальный IP адрес (предположим 192.168.1.5).
2. Роутер имеет внешний (интернет) IP адрес (предположим 80.80.80.80). На роутере (для эксперемента) все порты проброшены на нашу камеру (DMZ).
3. Из умных книжек узнаём, что сам протокол RTSP транспортом для видео не является, по нему лишь осуществляется передача команд управления потоком с клиента на сервер (на камеру). На камере по умолчанию имеет номер порта 554.
4. Сам же поток передаётся вероятно посредством RTP, номер порта которого не определён стандартом и может находиться во всём множестве портов UDP, но в этой камере опытным путём установлено, что порт назначается начиная с 5004.
5. В дополнение в RTP, идёт ещё протокол RTCP, по которому передаются управляющие пакеты. Его номер всегда идёт следующим нечётным числом за портом RTP. В данном случае это будет 5005.
6. Итак в плеере VLC на компьютере из интернета я ввожу адрес вида rtsp://name:pass@80.80.80.80:554/play1.sdp
7. На камеру прилетает пакет на порт 554 с запросом вида: "DESCRIBE rtsp://name:pass@80.80.80.80:554/play1.sdp RTSP/1.0"
8. Камера получив вышеозвученный пакет начинает тупить. Она знает что её IP адрес 192.168.1.5 , а в пакете (запрос на авторизацию) значится IP 80.80.80.80. И она отверргает эту авторизацию.
9. От камеры на компьютер в интернете приходит ответ от камеры вида: "RTSP/1.0 401 Unauthorized".
10. Сессия не состоялась. Облом.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пн май 16, 2011 12:17 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Пн апр 04, 2011 11:26
Сообщений: 3870
Компьютер с которого подключаетесь к камере находится за NATом? Если это так, то на роутере, к которому подключен комп нужно поставить адрес компьютера в DMZ зону. Вы отправляете запрос с компьютера на установление соединения по протоколу RTSP по порту 554. На роутере к которому подключена камера ее IP адрес находится в DMZ (из вашего сообщения). Соответственно запрос до камеры по порту 554 доходит. Далее после установления соединения камера шлет поток по протоколу RTP, который не имеет стандартного зарезервированного номера порта. На вашем роутере, к которому компьютер подключен приходит пакет по какому то порту (пусть будет как вы сказали 5004). Поэтому чтобы этот пакет дошел до компьютера нужно пробросить соответствующий порт. (Лучше DMZ ибо RTP не имеет стандартного зарезервированного номера порта)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 128


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB