Траблшутинг RTSP-потоков: ошибки 401 Unauthorized и 404 Stream Not Found
- Видеорегистратор (NVR) или VMS-сервер не отображает картинку с IP-камеры («Сбой потока» / «No Stream»).
- Ошибка
RTSP/1.0 401 Unauthorizedпри правильном вводе логина и пароля. - Ошибка
RTSP/1.0 404 Stream Not Foundпри попытке открытия потока через VLC / FFmpeg. - Поток открывается, но зависает на первом кадре после отправки метода
PLAY.
1. Тестирование и валидация RTSP потока через FFprobe / OpenRTSP
# Проверка доступности потока и структуры дорожек через FFprobe
ffprobe -v error -show_streams -rtsp_transport tcp "rtsp://admin:Password123@192.168.1.108:554/cam/realmonitor?channel=1&subtype=0"
# Отладка RTSP диалога с выводом заголовков через curl
curl -v -X DESCRIBE "rtsp://192.168.1.108:554/live/ch0"2. Эталонные RTSP URL популярных производителей камер
| Производитель | Основной поток (Main Stream) | Вторичный поток (Sub Stream) |
|---|---|---|
| Hikvision / HiWatch | rtsp://user:pass@IP:554/ISAPI/Streaming/Channels/101 | rtsp://user:pass@IP:554/ISAPI/Streaming/Channels/102 |
| Dahua / Imou | rtsp://user:pass@IP:554/cam/realmonitor?channel=1&subtype=0 | rtsp://user:pass@IP:554/cam/realmonitor?channel=1&subtype=1 |
| Uniview (UNV) | rtsp://user:pass@IP:554/unicast/c1/s0/live | rtsp://user:pass@IP:554/unicast/c1/s1/live |
| Axis | rtsp://user:pass@IP:554/axis-media/media.amp | rtsp://user:pass@IP:554/axis-media/media.amp?streamprofile=Quality |
3. Устранение ошибки 401 Unauthorized (Digest vs Basic Auth)
Современные прошивки IP-камер отключают небезопасную Basic Authentication, требуя алгоритм Digest MD5/SHA256:
- В веб-интерфейсе камеры перейдите:
Безопасность -> Службы безопасности -> Аутентификация RTSP. - Переключите режим с
Digest/Basicна явныйDigest(или разрешитеBasicдля старых регистраторов). - Создайте отдельного пользователя с ролью Media / Operator исключительно для передачи видео.
- Спецсимволы в пароле (
@,:,/,?) должны быть URL-экранированы (например, символ@заменяется на%40).
4. Траблшутинг блокировки портов и транспорта (RTSP Interleaved TCP)
Если RTSP обмен методами проходит (200 OK), но видеоданные RTP не поступают, сетевой экран блокирует динамические порты UDP. Принудительно включите передачу данных внутри одного RTSP TCP-сокета (RTSP Interleaved):
# Тест открытия потока строго через TCP
vlc --rtsp-tcp "rtsp://admin:Password123@192.168.1.108:554/live/ch0" Частые вопросы (FAQ)
Почему в VLC плеере поток открывается, а в NVR регистраторе выдает '404 Not Found'?
В регистраторе жестко зашит устаревший шаблон пути RTSP URL для данного вендора. Используйте подключение по стандарту ONVIF вместо чистого RTSP, чтобы NVR запросил актуальный URL через GetStreamUri.
Как экранировать сложный пароль с символом '@' внутри RTSP ссылки?
Используйте Percent-encoding (RFC 3986). Например, пароль 'Pass@123' в ссылке должен записываться как: rtsp://admin:Pass%40123@192.168.1.50:554/...
Что означает статус RTSP/1.0 454 Session Not Found?
Сессия была разорвана на стороне камеры из-за отсутствия RTSP Keep-alive сообщений (метод GET_PARAMETER или OPTIONS) в течение установленного таймаута (обычно 60 секунд).
Почему камера возвращает '503 Service Unavailable' при запросе RTSP?
Превышен лимит одновременных подключений к видеочипу камеры. Большинство бюджетных камер поддерживают не более 4-6 параллельных прямых RTSP сессий. Для большего числа клиентов используйте RTSP Media Streaming прокси.