Невозможно удаленно просматривать поток RTSP IP-камеры

Я недавно завершил установку системы наблюдения Zoneminder в удаленном месте. Выделенный сервер работает под управлением Ubuntu 14.04 LTS и в настоящее время подключен к 4 IP -камерам ( Hikvision DS-2CD2032-I) в одной подсети. Маршрутизатор Motorola Surf Board SBG6580-G228.

Сейчас я пытаюсь настроить Raspberry Pi для потоковой передачи видео с камеры в удаленном месте. Моя цель - использовать Zoneminder для записи событий и использовать Raspberry Pi в качестве средства просмотра основной камеры. Здесь я сталкиваюсь с неприятностями. Я могу удаленно подключиться к Zoneminder и веб-страницам управления камерой, но по какой-то причине не могу просмотреть поток RTSP камеры.

У меня открыт порт 554 и он перенаправлен на камеру, к которой я хочу подключиться. Когда я ввожу адрес RTSP в VLC без учетных данных для входа в систему, меня просят ввести их, поэтому я знаю, что на каком-то уровне это соединение. Однако после ввода учетных данных я не получаю сообщение об ошибке, но также и видео. Я знаю, что камера работает, потому что я могу войти в Zoneminder и увидеть его.

У кого-нибудь есть идеи, что я могу упустить?

6 ответов

Решение

Я не нашел ответа на свой вопрос (по крайней мере, не тот, который мне нравится), но я нашел обходной путь.

Основываясь на ответе Хэвида, я погуглил потоки RTSP, чтобы узнать больше о том, как они работают. Насколько я могу судить, он прав, видео возвращается через UDP, но не через предсказуемые порты. Это объясняет, почему клиент может получать видеопотоки RTSP в той же локальной сети, но не удаленно. Канал управления (порт 554) подключается, но возвращенные видео пакеты отбрасываются маршрутизатором.

Одно из предложений, которое я видел, - открыть все порты для получения потока. Полагаю, это сработает, но, на мой взгляд, это ужасное решение.

Мой обходной путь состоял в том, чтобы установить OpenVPN, используя поле Zoneminder в качестве VPN-сервера и Raspberry Pi в качестве VPN-клиента. Как только это было установлено и VPN-туннель был установлен, они снова оказались в одной сети, что позволило устранить проблему с портом.

Просто была точно такая же проблема - я пытался получить доступ к потоку DVR RTSP через проигрыватель VLC, и у меня не было видео, но также не было ошибки. Оказывается, в настройках VLC вы должны переключить потоковый транспорт Live555 с HTTP по умолчанию на RTP через RTSP (TCP).

VLC> Инструменты> Настройки> Ввод и кодеки> Сеть> Переключение на RTP через RTSP

Как сказал Артанис:

VLC> Инструменты> Настройки> Ввод и кодеки> Сеть> Переключение на RTP через RTSP

Это сработало для меня, после стольких дней поисков я наконец-то нашел облегчение!

Вот что я сделал для своей UnionCam (Q2Pro):

  1. Загрузите iSpyConnect (Opensource) ( http://www.ispyconnect.com/default.aspx)
  2. Добавить новую "IP-камеру с мастером"
  3. В случае успеха вы увидите ссылку RTSP; что-то вроде: rtsp://admin:password@192.168.1.105:554/user=admin_password=WEJwpbo6_channel=1_stream=0.sdp
  4. Настройте переадресацию портов (я выполнил следующие действия: http://help.angelcam.com/general-guides-and-info/connecting-a-camera-to-angelcam/how-to-setup-port-forwarding-for-multiple-cameras)

  5. И, наконец, используйте VLC с вышеупомянутыми настройками.

Сам RTSP не выполняет потоковую передачу мультимедиа, это всего лишь канал управления, используемый клиентами для сообщения медиасерверу, куда и когда отправлять мультимедиа. Возможно, вам потребуется открыть дополнительные порты, чтобы получить видеопоток.

У меня также была похожая проблема при использовании китайской IP-камеры с Zoneminder. Я решил эту проблему с помощью приложения Xeoma, чтобы найти правильный адрес для потоковой передачи. Иногда мои выводы могут быть полезны для вас. Подробности в этой ссылке здесь

URL-адрес, который я использую для примерно дюжины камер Hikvision, которые работают для VLC, — это rtsp://имя пользователя:пароль@IP-адрес камеры/Streaming/Channels/101?transportmode=unicast.

Установите имя пользователя и пароль, не содержащие специальных символов, таких как !@#$% и т. д. URL-адрес не будет работать со специальными символами в пароле. Мне потребовалось много времени, чтобы понять это.

Другие вопросы по тегам