ONVIF работает, но URL-адрес RTSP не работает: поиск реального пути потока камеры
Почему обнаружение ONVIF может работать при сбое потока RTSP, и как отлаживать профили камер, URL-адреса мультимедиа, аутентификацию, транспорт и доказательства SDP.
Обычно IP-камера правильно отображается при обнаружении ONVIF, хотя URL-адрес RTSP по-прежнему не работает. Устройство видно в сети, имя и модель камеры определяется, может даже профили указаны, но собственно видеопоток не открывается. Пользователи ищут «ONVIF работает, но RTSP не работает», «камера обнаружена, но нет видео RTSP» или «как найти URL-адрес RTSP из ONVIF», потому что кажется, что успех обнаружения должен гарантировать успех потоковой передачи.
Это не так.
ONVIF и RTSP связаны во многих рабочих процессах камеры, но это не один и тот же протокол и они не доказывают одно и то же. ONVIF может сообщить вам, что камера существует, и предоставить профиль мультимедиа. RTSP по-прежнему должен аутентифицироваться, описывать поток, согласовывать транспортировку, настраивать треки RTP и доставлять медиапакеты.
Инспектор RTSP фокусируется на второй половине: что на самом деле происходит, когда используется определенный URL-адрес RTSP.
Что доказывает ONVIF
Открытие ONVIF может доказать, что:
- Камера реагирует на WS-Discovery.
- Камера предоставляет конечную точку службы ONVIF.
- Клиент может получить доступ к интерфейсу управления камерой.
- Камера может иметь один или несколько медиа-профилей.
- Устройство может сообщать URI потока через медиа-службы ONVIF.
Это полезно, но это не то же самое, что доказательство работы потока RTSP. Обнаружение ONVIF может использовать другой порт, другой режим аутентификации и другой путь обслуживания, чем RTSP.
Камера может пройти обнаружение ONVIF и при этом не пройти RTSP, потому что:
- RTSP отключен в настройках камеры.
- Учетная запись ONVIF не имеет разрешения RTSP.
- Возвращенный URI потока является неполным или предназначен только для внутреннего использования.
- Порт RTSP заблокирован брандмауэром.
- Камера требует чередующегося транспорта TCP, но клиент пытается использовать UDP.
- Профиль указывает на H.265, но клиент ожидает H.264.
- Путь к каналу NVR неправильный.
- Камера возвращает SDP, но не отправляет пакеты RTP.
URI потока ONVIF может быть недоступен для прямого использования.
Некоторые камеры возвращают URI RTSP через ONVIF, который выглядит пригодным для использования, но все же требует модификации. Например:
rtsp://192.168.1.50/Streaming/Channels/101
The real usable URL may need:
ONVIF profile does not guarantee codec support
The symptom may be:
RTSP Inspector helps by separating the layers:
RTSP transport can fail after ONVIF succeeds
This is common when:
Authentication can differ between ONVIF and RTSP
You may see:
RTSP/1.0 401 Unauthorized
WWW-Authenticate: Digest realm="IP Camera", nonce="..."
хотя обнаружение ONVIF сработало. Это означает, что служба RTSP запрашивает учетные данные. Если клиент отправляет учетные данные, а камера продолжает возвращать «401», проверьте разрешения учетной записи, дайджест-аутентификацию, кодировку URL-адреса и права канала.
Сетевые видеорегистраторы усложняют ситуацию, поскольку устройством ONVIF может быть сетевой видеорегистратор, а путь потока RTSP ссылается на канал камеры позади сетевого видеорегистратора. Учетной записи может быть разрешено запрашивать сетевой видеорегистратор, но не выполнять потоковую передачу основного потока канала 1.
Путаница основного потока и подпотока
Многие камеры предоставляют несколько профилей:
- Основной поток: высокое разрешение, высокий битрейт, часто H.265.
- Дополнительный поток: более низкое разрешение, более низкий битрейт, часто H.264.
- Мобильный поток: небольшой размер кадра и более низкая частота кадров.
ONVIF может возвращать один из этих профилей по умолчанию. URL-адрес RTSP, скопированный из форума или PDF-файла поставщика, может указывать на другой. Если основным потоком является H.265, но клиент поддерживает только H.264, подпоток может работать, в то время как основной поток не работает.
К этой категории часто относятся запросы типа «Основной поток RTSP не работает, дополнительный поток работает». Проблема не в открытии. Это выбор профиля, выбор кодека, битрейт или поведение транспорта.
Как отладить ONVIF работает, но RTSP не работает
Используйте многоуровневый контрольный список:
- Убедитесь, что служба RTSP камеры включена.
- Убедитесь, что порт RTSP (обычно 554) доступен клиенту.
- Получите профиль мультимедиа ONVIF и URI потока.
- Нормализуйте URL-адрес RTSP для сетевого пути, который вы фактически используете.
- Аккуратно добавляйте учетные данные и кодируйте специальные символы в URL-адресе.
- Запустите RTSP «ОПЦИИ» и «ОПИСАНИЕ».
- Проверьте проблемы аутентификации и ответы.
- Проверьте SDP на предмет кодека, типа полезной нагрузки, тактовой частоты и URL-адресов управления отслеживанием.
- Сравните чередующийся транспорт UDP и TCP.
- Подтвердите, что пакеты RTP приходят после PLAY.
- Проверьте непрерывность последовательности RTP, временные метки и тип полезной нагрузки.
- Тестируйте основной поток и дополнительный поток отдельно.
Этот контрольный список предотвращает распространенную ошибку: рассматривать успешное обнаружение ONVIF как доказательство того, что потоковая передача мультимедиа должна работать автоматически.
Что должна показать трассировка RTSP
Здоровый поток RTSP обычно выглядит так:
OPTIONS rtsp://camera/stream RTSP/1.0
RTSP/1.0 200 OK
DESCRIBE rtsp://camera/stream RTSP/1.0
RTSP/1.0 200 OK
Content-Type: application/sdp
SETUP rtsp://camera/stream/trackID=1 RTSP/1.0
RTSP/1.0 200 OK
Transport: RTP/AVP/TCP;unicast;interleaved=0-1
PLAY rtsp://camera/stream RTSP/1.0
RTSP/1.0 200 OK
Final diagnosis
<!-- rtsp-localized-evidence-foundation-v1:start -->Воспроизводимая проверка темы «ONVIF работает, но URL-адрес RTSP не работает: поиск реального пути потока камеры»
Краткий ответ: чёрный экран или одиночный код не доказывает источник сбоя. Надёжная диагностика связывает запрос и ответ RTSP, согласованный Transport, действующую Session, а затем номера последовательности RTP, временные метки и данные RTCP. Для «ONVIF работает, но URL-адрес RTSP не работает: поиск реального пути потока камеры» начните с уровня, ближайшего к симптому, но сохраняйте единую временную шкалу, чтобы не смешать управление, сеть и декодирование.
До изменения камеры, межсетевого экрана или VMS создайте небольшой базовый тест. Запишите RTSP URL без пароля, время, путь, запрошенный Transport, ответ сервера и момент первого медиапакета. Проверяйте UDP и TCP interleaved отдельно, если устройство поддерживает оба режима. Не меняйте одновременно путь, учётные данные и транспорт: иначе успешная вторая попытка не покажет решающую переменную.
| Уровень | Сохраняемое доказательство | Вопрос |
|---|---|---|
| RTSP | метод, статус, заголовки, CSeq и Session | Сервер принял именно эту операцию? |
| SDP | control, payload type, clock rate и codec | Описана ожидаемая дорожка? |
| Transport | client_port, server_port или interleaved | Обе стороны используют один канал? |
| RTP | SSRC, sequence, timestamp и marker | Медиаданные идут в объяснимом порядке? |
| RTCP | sender report, CNAME и BYE | Часы, идентичность и конец прослеживаются? |
| Decoder | SPS/PPS/VPS и packetization mode | Полученный payload позволяет инициализацию? |
Разделяйте «медиа не пришло» и «медиа пришло, но не декодируется». Отсутствие RTP после успешных SETUP и PLAY ведёт к проверке UDP, NAT, firewall и ответа Transport. Пробелы последовательности доказывают потерю или перестановку. Непрерывный RTP без изображения переводит расследование к payload type, clock rate, границам кадра и параметрам H.264 или H.265. Эта граница полезнее общего сообщения проигрывателя.
Как написать цитируемый ответ?
Используйте три предложения: последняя успешная операция, первое отсутствующее доказательство и следующий разделяющий тест. Пример: «DESCRIBE, SETUP и PLAY успешны; RTP не приходит на объявленные порты клиента; проверка TCP interleaved отделит блокировку UDP от неверного медиапути». Не обвиняйте камеру или сеть без ответа либо пакета, подтверждающего границу.
Что делает случай воспроизводимым?
Сохраните OPTIONS, DESCRIBE, SETUP и PLAY, SDP, ответ Transport и очищенный Session. Для RTP запишите SSRC, первый и последний sequence, clock rate, число пробелов и длительность. Результат VLC или другой VMS используйте как дифференциальный тест, а не как доказательство правильной реализации всех правил успешным клиентом.
Когда проверять сервер или клиент?
Проверяйте сервер при отказе метода, несуществующем control URL, несовместимом Transport или необъяснимой смене SSRC или часов. Проверяйте клиент при повторном старом nonce, потере Session, запросе UDP без открытых портов или трактовке каждого конца NAL как конца access unit. Для промежуточной неисправности каждому выводу нужны пакет и время.
Как проверить отчёт?
Повторите тест с нового соединения и сравните временные шкалы до первого отличия. Удалите пароли и полные Authorization. Свяжите выводы с CSeq, sequence или timestamp. Используйте связанный справочник RTSP, а RTSP Inspector — для локальной проверки RTSP-потока и сбора доказательств без загрузки видео в публичный сервис.
Добавьте явный критерий приёмки. На том же URL и с теми же учётными данными управляющие запросы должны завершиться ожидаемыми статусами, RTP — непрерывно идти по выбранному Transport, а после нужных параметров кодека должен восстановиться реальный кадр. Смена Session или SSRC после нового подключения сама по себе не является ошибкой; не объединяйте пакеты старой и новой сессии. Оставшуюся неопределённость формулируйте как непроверенный порт, трек, интервал времени или условие декодера, а не как общий «сбой камеры».
<!-- rtsp-localized-evidence-foundation-v1:end --><!-- multilingual-blog-closeout:start -->Прямой ответ и граница приемки
Краткий ответ по теме «ONVIF работает, но URL-адрес RTSP не работает: поиск реального пути потока камеры»: Почему обнаружение ONVIF может работать при сбое потока RTSP, и как отлаживать профили камер, URL-адреса мультимедиа, аутентификацию, транспорт и доказательства SDP. Считайте это проверяемым результатом, а не обещанием для любого входа, устройства, проекта или окружения. Полный результат фиксирует исходное состояние, точное действие, видимый выход и условие, подтверждающее завершение задачи в RTSP Inspector.
Порядок работы от доказательств
Начните с небольшого повторяемого случая до изменения полного проекта. Запишите версию приложения, систему, идентификатор входа или устройства, важные настройки и ожидаемый результат. Выполните одно осознанное действие, сохраните первый неожиданный переход и сравните с исправным случаем, если он есть. Одновременная смена нескольких параметров скрывает условие, создавшее или устранившее проблему.
Контрольная точка 1: ONVIF работает, но URL-адрес RTSP не работает: поиск реального пути потока камеры
Закрывайте «ONVIF работает, но URL-адрес RTSP не работает: поиск реального пути потока камеры» только когда сохраненный, экспортированный или повторно открытый результат соответствует наблюдению. Временный отклик интерфейса полезен, но долговечное доказательство сильнее. Запишите оставшиеся ограничения.
Контрольная точка 2: Почему обнаружение ONVIF может работать при сбое потока RTSP, и как отлаживать профили кам
Для «Почему обнаружение ONVIF может работать при сбое потока RTSP, и как отлаживать профили камер, URL-адреса мультимедиа, аутентификацию, транспорт и дока» отделите решение продукта от границы системы, оборудования, исходного файла, прав или процесса. Установите, какой слой дал доказательство, прежде чем назначать причину. Так соседний симптом не станет якобы доказанной первопричиной.
Контрольная точка 3: Что доказывает ONVIF
Закрывайте «Что доказывает ONVIF» только когда сохраненный, экспортированный или повторно открытый результат соответствует наблюдению. Временный отклик интерфейса полезен, но долговечное доказательство сильнее. Запишите оставшиеся ограничения.
Контрольная точка 4: URI потока ONVIF может быть недоступен для прямого использования.
Для «URI потока ONVIF может быть недоступен для прямого использования.» отделите решение продукта от границы системы, оборудования, исходного файла, прав или процесса. Установите, какой слой дал доказательство, прежде чем назначать причину. Так соседний симптом не станет якобы доказанной первопричиной.
Контрольная точка 5: ONVIF profile does not guarantee codec support
Закрывайте «ONVIF profile does not guarantee codec support» только когда сохраненный, экспортированный или повторно открытый результат соответствует наблюдению. Временный отклик интерфейса полезен, но долговечное доказательство сильнее. Запишите оставшиеся ограничения.
Контрольная точка 6: RTSP transport can fail after ONVIF succeeds
Для «RTSP transport can fail after ONVIF succeeds» отделите решение продукта от границы системы, оборудования, исходного файла, прав или процесса. Установите, какой слой дал доказательство, прежде чем назначать причину. Так соседний симптом не станет якобы доказанной первопричиной.
Контрольная точка 7: Authentication can differ between ONVIF and RTSP
Закрывайте «Authentication can differ between ONVIF and RTSP» только когда сохраненный, экспортированный или повторно открытый результат соответствует наблюдению. Временный отклик интерфейса полезен, но долговечное доказательство сильнее. Запишите оставшиеся ограничения.
Контрольная точка 8: Путаница основного потока и подпотока
Для «Путаница основного потока и подпотока» отделите решение продукта от границы системы, оборудования, исходного файла, прав или процесса. Установите, какой слой дал доказательство, прежде чем назначать причину. Так соседний симптом не станет якобы доказанной первопричиной.
Контрольная точка 9: Как отладить ONVIF работает, но RTSP не работает
Закрывайте «Как отладить ONVIF работает, но RTSP не работает» только когда сохраненный, экспортированный или повторно открытый результат соответствует наблюдению. Временный отклик интерфейса полезен, но долговечное доказательство сильнее. Запишите оставшиеся ограничения.
Контрольная точка 10: Что должна показать трассировка RTSP
Для «Что должна показать трассировка RTSP» отделите решение продукта от границы системы, оборудования, исходного файла, прав или процесса. Установите, какой слой дал доказательство, прежде чем назначать причину. Так соседний симптом не станет якобы доказанной первопричиной.
Матрица приемки
| Точка | Сохраняемое доказательство | Критерий успеха |
|---|---|---|
| ONVIF работает, но URL-адрес RTSP не работает: поиск реального пути потока камеры | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Почему обнаружение ONVIF может работать при сбое потока RTSP, и как отлаживать профили камер, URL-адреса мультимедиа, ау | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Что доказывает ONVIF | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| URI потока ONVIF может быть недоступен для прямого использования. | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| ONVIF profile does not guarantee codec support | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| RTSP transport can fail after ONVIF succeeds | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
Изоляция, восстановление и передача
Остановитесь на первой неуспешной границе. Сохраните источник, проект, сеанс или захват, сделайте копию перед разрушающим редактированием и меняйте одну переменную за опыт. Повтор широкого процесса после нескольких изменений может дать иной результат без объяснения причины.
Отличайте отсутствие доказательств от доказательства отсутствия. Пустой экран может означать неверный вход, область, фильтр, права, устройство, период или состояние проекта. Подтвердите получение или импорт до толкования decoder, редактора, отчета или экспорта.
Перед передачей повторно откройте артефакт и проверьте начало, точку решения и конец. Запишите версию, платформу, конфигурацию, ожидание, наблюдение и минимальное воспроизведение. Удалите или скройте чувствительные данные и проверьте полномочия получателя.
Вопросы и ответы
Как надежнее всего начать?
Возьмите минимальный репрезентативный случай, запишите ожидаемый результат и меняйте одну переменную. Подтвердите базовый путь до добавления фильтров, эффектов, правок, автоматизации или большого источника.
Какие доказательства сохранять?
Сохраните идентификатор входа, версию, платформу, настройки, точное действие, первый неожиданный переход и конечный выход. Закройте и повторно откройте проект, сеанс, отчет или экспорт.
Когда повторять процедуру?
После значимого изменения приложения, системы, драйвера, прошивки, модели, источника или процесса. Сохраните предыдущий принятый случай как неизменную основу сравнения.
Когда результат готов к передаче?
Когда другой уполномоченный человек определяет вход, повторяет действие, видит тот же результат, понимает ограничения и открывает артефакт без недокументированного локального состояния.
Связанные руководства
Эти страницы на том же языке описывают соседние этапы, не меняя канонического владельца темы:
- RTSP 401 не авторизован и 404 не найден: диагностика URL-адреса камеры и ошибок аутентификации
- Исправление неверного запроса RTSP 400: ошибка DESCRIBE, неверный URL-адрес камеры и ошибки заголовка
- Отладка URL-адресов совокупного управления RTSP: контроль SDP:, отслеживание URL-адресов, SETUP 404 и сбой PLAY