Устранение неполадок с потоком RTSP: полное руководство по диагностике потоков с камер
Полный рабочий процесс диагностики RTSP: уровень соединения, ошибки плоскости управления (400/401/404/454/461/500/503), сбои медиаплоскости (H.264/H.265/RTP/RTCP), управление сеансами и сравнение с Wireshark/VLC. Каждая проблема RTSP отображается на диагностической странице.
Это центральная страница для диагностики потока камер RTSP. Каждая проблема RTSP следует шаблону — происходит сбой на уровне соединения, плоскости управления или медиаплоскости. В этом руководстве каждая распространенная неисправность отображается на конкретной диагностической странице и рассказывается, какие доказательства необходимо собрать.
Быстрая сортировка: где неисправность?
Прежде чем читать какую-либо конкретную страницу, определите, какой слой неисправен:
- Может ли клиент добраться до камеры? → Проблемы на уровне соединения
- Возвращает ли DESCRIBE действительный SDP? → Проблемы с плоскостью управления.
- Правильно ли доставляются и декодируются пакеты RTP? → Проблемы с медиа-плоскостью
Если вы не знаете, на каком уровне произошел сбой, начните с рабочего процесса систематической диагностики.
Connection layer: reaching the camera
Плоскость управления: ошибки команд RTSP
Это ошибки уровня протокола, возвращаемые камерой в ответ на команды DESCRIBE, SETUP или PLAY. Код ошибки точно расскажет вам, что пошло не так.
400 неверный запрос
- Ошибочный запрос RTSP 400: ошибка DESCRIBE — неверный URL-адрес, неподдерживаемые заголовки, помехи прокси-сервера. Охватывает форматы URL-адресов Axis, Dahua и Hikvision.
401 Несанкционированный
Цикл аутентификации RTSP 401 — Дайджест против базовых параметров аутентификации, nonce/области, почему аутентификация проходит успешно в VLC, но не работает в вашем приложении.
Подробное описание дайджест-аутентификации RTSP — Срок действия Nonce, сопоставление области, обработка stale=true.
Диагностика URL-адреса камеры 401/404 — когда URL-адрес работает в одном клиенте, но не работает в другом.
404 Не найден
Диагностика URL-адреса камеры 401/404 — Неверный путь к потоку, форматы URL-адресов, специфичные для камеры.
Агрегированный контрольный URL-адрес и настройка SDP 404 — когда контрольный URL-адрес в SDP не соответствует URL-адресу DESCRIBE.
454 Сеанс не найден
- Сеанс RTSP 454 не найден — несоответствие идентификатора сеанса, истекшие сеансы, ВОСПРОИЗВЕДЕНИЕ перед НАСТРОЙКОЙ.
461 Неподдерживаемый транспорт
- RTSP 461 Неподдерживаемый транспорт: ошибка установки — согласование транспорта UDP и TCP, ffmpeg «Ошибка метода SETUP: 461», ошибки интеграции Frigate/Scrypted/NVR.
500/503 Ошибки сервера
Внутренняя ошибка сервера RTSP 500 — Сбой на стороне камеры. Когда следует сделать вывод, что виновата прошивка камеры.
Служба RTSP 503 недоступна — Исчерпание ресурсов камеры, слишком много одновременных потоков, ограничения пропускной способности.
Транспорт и сети
UDP RTP заблокирован брандмауэром/NAT — управление RTSP работает, но носитель UDP RTP заблокирован. Правила брандмауэра, обход NAT, конфигурация порта протокола RTSP, резервный вариант с чередованием TCP.
Несоответствие чередующихся каналов TCP — когда чередующиеся каналы RTP/RTCP не совпадают между клиентом и сервером.
Несоответствующий ответ транспортного сервера — Сервер отвечает с параметрами транспорта, отличными от запрошенных.
Отладка многоадресной UDP — конфигурация многоадресной рассылки RTSP/RTP, IGMP, TTL и сетевая инфраструктура.
Тайм-аут RTSP: UDP и TCP с чередованием — Почему время ожидания потоков по-разному распределяется по UDP и TCP.
Media plane: RTP, codec, and payload problems
RTP packet analysis
H.264 and H.265 codec issues
Audio and metadata tracks
ONVIF and camera-specific
RTCP и управление сеансами
Отчеты отправителя RTCP: дрожание и потери — Чтение пакетов RTCP SR для оценки качества сети с точки зрения камеры.
RTCP BYE: поток неожиданно завершается — когда камера отправляет RTCP BYE и завершает поток.
RTCP CNAME и синхронизация аудио/видео — использование RTCP CNAME для синхронизации аудио и видео дорожек.
RTSP TEARDOWN и очистка сеанса — утечка ресурсов камеры, сбой повторного подключения, состояние занятого потока.
Тайм-аут сеанса RTSP и поддержка активности — Почему потоки останавливаются примерно через 30 секунд и как поддерживать их активность.
Заголовок диапазона RTSP и NPT — Управление позицией воспроизведения с помощью параметров Range и NPT.
Заголовок RTSP Scale и трюковое воспроизведение — перемотка вперед, назад и управление скоростью через заголовок Scale.
Comparison and alternatives
Начиная
Впервые в диагностике RTSP? Начните здесь:
- Систематический диагностический процесс — Трехуровневая модель и сбор доказательств.
- Подключение к потоку — настройка первого соединения RTSP.
- Руководство по устранению неполадок — Распространенные неисправности и их исправления.
Воспроизводимая проверка темы «Устранение неполадок с потоком RTSP: полное руководство по диагностике потоков с камер»
Краткий ответ: чёрный экран или одиночный код не доказывает источник сбоя. Надёжная диагностика связывает запрос и ответ RTSP, согласованный Transport, действующую Session, а затем номера последовательности RTP, временные метки и данные RTCP. Для «Устранение неполадок с потоком 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 -->Прямой ответ и граница приемки
Краткий ответ по теме «Устранение неполадок с потоком RTSP: полное руководство по диагностике потоков с камер»: Полный рабочий процесс диагностики RTSP: уровень соединения, ошибки плоскости управления (400/401/404/454/461/500/503), сбои медиаплоскости (H.264/H.265/RTP/RTCP), управление сеансами и сравнение с Wireshark/VLC. Каждая проблема RTSP отображается на диагностической странице. Считайте это проверяемым результатом, а не обещанием для любого входа, устройства, проекта или окружения. Полный результат фиксирует исходное состояние, точное действие, видимый выход и условие, подтверждающее завершение задачи в RTSP Inspector.
Порядок работы от доказательств
Начните с небольшого повторяемого случая до изменения полного проекта. Запишите версию приложения, систему, идентификатор входа или устройства, важные настройки и ожидаемый результат. Выполните одно осознанное действие, сохраните первый неожиданный переход и сравните с исправным случаем, если он есть. Одновременная смена нескольких параметров скрывает условие, создавшее или устранившее проблему.
Контрольная точка 1: Устранение неполадок с потоком RTSP: полное руководство по диагностике потоков с камер
Проверяйте «Устранение неполадок с потоком RTSP: полное руководство по диагностике потоков с камер» на минимальном репрезентативном входе. Не меняйте несвязанные настройки, повторите то же действие и проверьте результат после повторного открытия или подключения. Один снимок слабее записи с входом, настройкой, действием, выходом и временем.
Контрольная точка 2: Полный рабочий процесс диагностики RTSP: уровень соединения, ошибки плоскости управления (
Если «Полный рабочий процесс диагностики RTSP: уровень соединения, ошибки плоскости управления (400/401/404/454/461/500/503), сбои медиаплоскости (H.264/H.2» неоднозначен, сравните исправный и ошибочный случаи в одинаковых условиях. Отметьте первое значимое различие вместо списка последующих симптомов. Эта граница дает более ясное обращение в поддержку и безопасный следующий опыт.
Контрольная точка 3: Быстрая сортировка: где неисправность?
Проверяйте «Быстрая сортировка: где неисправность?» на минимальном репрезентативном входе. Не меняйте несвязанные настройки, повторите то же действие и проверьте результат после повторного открытия или подключения. Один снимок слабее записи с входом, настройкой, действием, выходом и временем.
Контрольная точка 4: Connection layer: reaching the camera
Если «Connection layer: reaching the camera» неоднозначен, сравните исправный и ошибочный случаи в одинаковых условиях. Отметьте первое значимое различие вместо списка последующих симптомов. Эта граница дает более ясное обращение в поддержку и безопасный следующий опыт.
Контрольная точка 5: Плоскость управления: ошибки команд RTSP
Проверяйте «Плоскость управления: ошибки команд RTSP» на минимальном репрезентативном входе. Не меняйте несвязанные настройки, повторите то же действие и проверьте результат после повторного открытия или подключения. Один снимок слабее записи с входом, настройкой, действием, выходом и временем.
Контрольная точка 6: 400 неверный запрос
Если «400 неверный запрос» неоднозначен, сравните исправный и ошибочный случаи в одинаковых условиях. Отметьте первое значимое различие вместо списка последующих симптомов. Эта граница дает более ясное обращение в поддержку и безопасный следующий опыт.
Контрольная точка 7: 401 Несанкционированный
Проверяйте «401 Несанкционированный» на минимальном репрезентативном входе. Не меняйте несвязанные настройки, повторите то же действие и проверьте результат после повторного открытия или подключения. Один снимок слабее записи с входом, настройкой, действием, выходом и временем.
Контрольная точка 8: 404 Не найден
Если «404 Не найден» неоднозначен, сравните исправный и ошибочный случаи в одинаковых условиях. Отметьте первое значимое различие вместо списка последующих симптомов. Эта граница дает более ясное обращение в поддержку и безопасный следующий опыт.
Контрольная точка 9: 454 Сеанс не найден
Проверяйте «454 Сеанс не найден» на минимальном репрезентативном входе. Не меняйте несвязанные настройки, повторите то же действие и проверьте результат после повторного открытия или подключения. Один снимок слабее записи с входом, настройкой, действием, выходом и временем.
Контрольная точка 10: 461 Неподдерживаемый транспорт
Если «461 Неподдерживаемый транспорт» неоднозначен, сравните исправный и ошибочный случаи в одинаковых условиях. Отметьте первое значимое различие вместо списка последующих симптомов. Эта граница дает более ясное обращение в поддержку и безопасный следующий опыт.
Матрица приемки
| Точка | Сохраняемое доказательство | Критерий успеха |
|---|---|---|
| Устранение неполадок с потоком RTSP: полное руководство по диагностике потоков с камер | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Полный рабочий процесс диагностики RTSP: уровень соединения, ошибки плоскости управления (400/401/404/454/461/500/503), | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Быстрая сортировка: где неисправность? | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Connection layer: reaching the camera | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Плоскость управления: ошибки команд RTSP | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| 400 неверный запрос | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
Изоляция, восстановление и передача
Остановитесь на первой неуспешной границе. Сохраните источник, проект, сеанс или захват, сделайте копию перед разрушающим редактированием и меняйте одну переменную за опыт. Повтор широкого процесса после нескольких изменений может дать иной результат без объяснения причины.
Отличайте отсутствие доказательств от доказательства отсутствия. Пустой экран может означать неверный вход, область, фильтр, права, устройство, период или состояние проекта. Подтвердите получение или импорт до толкования decoder, редактора, отчета или экспорта.
Перед передачей повторно откройте артефакт и проверьте начало, точку решения и конец. Запишите версию, платформу, конфигурацию, ожидание, наблюдение и минимальное воспроизведение. Удалите или скройте чувствительные данные и проверьте полномочия получателя.
Вопросы и ответы
Как надежнее всего начать?
Возьмите минимальный репрезентативный случай, запишите ожидаемый результат и меняйте одну переменную. Подтвердите базовый путь до добавления фильтров, эффектов, правок, автоматизации или большого источника.
Какие доказательства сохранять?
Сохраните идентификатор входа, версию, платформу, настройки, точное действие, первый неожиданный переход и конечный выход. Закройте и повторно откройте проект, сеанс, отчет или экспорт.
Когда повторять процедуру?
После значимого изменения приложения, системы, драйвера, прошивки, модели, источника или процесса. Сохраните предыдущий принятый случай как неизменную основу сравнения.
Когда результат готов к передаче?
Когда другой уполномоченный человек определяет вход, повторяет действие, видит тот же результат, понимает ограничения и открывает артефакт без недокументированного локального состояния.
Связанные руководства
Эти страницы на том же языке описывают соседние этапы, не меняя канонического владельца темы:
<!-- multilingual-blog-closeout:end -->