RTSP против UDP: почему RTSP подключается, но видео черное — RTP заблокирован брандмауэром, NAT и VPN
Исправить отсутствие видео по протоколу RTSP, когда управление подключается, но UDP RTP заблокирован. Охватывает правила брандмауэра, порт протокола RTSP, обход NAT, потерю VPN RTP, резервный режим с чередованием TCP и исходные порты UDP камеры.
Одну из самых серьезных проблем RTSP описать просто: "камера подключается, но видео нет. Во многих случаях управление RTSP работает через TCP, но медиа-пакеты UDP RTP никогда не достигают клиента. Пользователь видит успешный вход в систему, SDP, возможно даже «PLAY 200 OK», а затем таймаут. Такие поисковые запросы, как «RTSP подключается, но нет видео», «RTP UDP заблокирован брандмауэром», «RTSP работает в локальной сети, а не через VPN», «RTSP NAT камеры без видео» и «Исправление чередования RTSP TCP» — все указывают на это разделение уровней." RTSP — это не один поток данных. Канал управления и медиаканал могут использовать разные транспортные пути. Если канал управления работает, а медиатракт выходит из строя, плеер может показывать тот же черный экран, что и сбой кодека. Доказательства пакета разные.
Инспектор RTSP полезен, поскольку он отделяет успех управления RTSP от доставки мультимедиа RTP.
Контроль работает, не значит, что СМИ работают
Обычный поток UDP RTP может выглядеть так:
- Клиент открывает TCP-соединение RTSP с портом камеры 554.
- Клиент отправляет
DESCRIBE. - Камера возвращает SDP.
- Клиент отправляет
SETUPс клиентскими портами UDP. - Камера возвращает порты UDP-сервера.
- Клиент отправляет
PLAY. - Камера отправляет пакеты RTP на порты UDP клиента.
Если шаги 1–6 завершаются успешно, а шаг 7 завершается неудачей, поток не является проблемой входа в систему RTSP. Это проблема пути носителя.
Заголовок транспорта показывает план порта
Запрос SETUP может включать в себя:
Transport: RTP/AVP;unicast;client_port=50000-50001
The camera may answer:
Transport: RTP/AVP;unicast;client_port=50000-50001;server_port=6970-6971
Камера должна отправлять RTP/RTCP на UDP-порты клиента. Брандмауэры должны разрешать этот трафик. Устройства NAT должны правильно его отобразить. VPN должны это поддерживать. В противном случае управление RTSP может выглядеть работоспособным, пока медиа молчит.
Распространенные сбои брандмауэра и NAT
Общие причины включают в себя:
- Брандмауэр разрешает TCP 554, но блокирует диапазон портов UDP RTP.
- NAT перенаправляет порт RTSP, но не порты RTP.
- Камера отправляет RTP из неожиданных исходных портов.
- Клиент объявляет частные порты UDP, недоступные с камеры.
- VPN разрешает TCP, но отключает UDP.
- Корпоративный межсетевой экран блокирует высокие порты UDP.
- Камера находится за двойным NAT.
- Пакеты RTP возвращаются на неправильный интерфейс.
Видимым симптомом часто является «нет видео после PLAY».
Почему чередующийся TCP часто работает
RTSP через TCP с чередованием передает RTP и RTCP внутри TCP-соединения RTSP. Это позволяет избежать отдельных дыр в UDP.
Если режим UDP не работает, а чередование TCP работает, это является убедительным доказательством того, что с кодеком и камерой, вероятно, все в порядке. Проблема, скорее всего, в медиатранспорте UDP.
Однако чередующийся TCP имеет свои собственные требования к синтаксическому анализу, включая сопоставление каналов. Это обходной путь для проблем с путями UDP, а не доказательство работоспособности каждого уровня.
RTCP может помочь доказать путь
Если RTP заблокирован, но приходит RTCP или наоборот, проверьте пары портов. Некоторые брандмауэры обрабатывают эти два направления по-разному. Отчеты получателей RTCP также могут показывать потерю пакетов и дрожание, если мультимедийные данные доставлены частично.
Записывать:
- Количество RTP-пакетов.
- Количество RTCP-пакетов.
- IP-адрес и порт источника RTP.
- IP-адрес и порт назначения RTP.
- Пробелы в порядковых номерах.
- Время от «PLAY» до первого пакета.
Контрольный список отладки
Используйте этот рабочий процесс:
- Подтвердите успешность выполнения RTSP
DESCRIBE,SETUPиPLAY. - Проверьте заголовок «Transport» и UDP-порты клиента/сервера.
- Проверьте, приходят ли пакеты RTP после PLAY.
- Проверьте, приходят ли RTCP-пакеты.
- Сравните тест LAN и тест VPN/WAN.
- Проверьте чередующийся транспорт TCP.
- Проверьте правила брандмауэра для диапазона портов UDP RTP.
- Проверьте переадресацию портов NAT и поведение исходного порта.
- Проверьте объявленные клиентом доступные UDP-порты.
- Не проводите отладку кодека до тех пор, пока не поступят полезные данные RTP.
Окончательный диагноз
Когда RTSP подключается, но UDP RTP блокируется, камера может быть полностью доступна, но носитель никогда не поступает. Исправление касается доступности порта UDP, поведения NAT, политики брандмауэра, правил VPN или переключения на чередующийся TCP.
Инспектор RTSP помогает, показывая вместе управляющую последовательность RTSP и данные пакета RTP, поэтому «отсутствие видео» становится конкретным диагнозом транспорта.
<!-- rtsp-localized-evidence-foundation-v1:start -->Воспроизводимая проверка темы «RTSP против UDP: почему RTSP подключается, но видео черное — RTP заблокирован брандмауэром, NAT и VPN»
Краткий ответ: чёрный экран или одиночный код не доказывает источник сбоя. Надёжная диагностика связывает запрос и ответ RTSP, согласованный Transport, действующую Session, а затем номера последовательности RTP, временные метки и данные RTCP. Для «RTSP против UDP: почему RTSP подключается, но видео черное — RTP заблокирован брандмауэром, NAT и VPN» начните с уровня, ближайшего к симптому, но сохраняйте единую временную шкалу, чтобы не смешать управление, сеть и декодирование.
До изменения камеры, межсетевого экрана или 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 против UDP: почему RTSP подключается, но видео черное — RTP заблокирован брандмауэром, NAT и VPN»: Исправить отсутствие видео по протоколу RTSP, когда управление подключается, но UDP RTP заблокирован. Охватывает правила брандмауэра, порт протокола RTSP, обход NAT, потерю VPN RTP, резервный режим с чередованием TCP и исходные порты UDP камеры. Считайте это проверяемым результатом, а не обещанием для любого входа, устройства, проекта или окружения. Полный результат фиксирует исходное состояние, точное действие, видимый выход и условие, подтверждающее завершение задачи в RTSP Inspector.
Порядок работы от доказательств
Начните с небольшого повторяемого случая до изменения полного проекта. Запишите версию приложения, систему, идентификатор входа или устройства, важные настройки и ожидаемый результат. Выполните одно осознанное действие, сохраните первый неожиданный переход и сравните с исправным случаем, если он есть. Одновременная смена нескольких параметров скрывает условие, создавшее или устранившее проблему.
Контрольная точка 1: RTSP против UDP: почему RTSP подключается, но видео черное — RTP заблокирован брандмауэром
Для «RTSP против UDP: почему RTSP подключается, но видео черное — RTP заблокирован брандмауэром, NAT и VPN» отделите решение продукта от границы системы, оборудования, исходного файла, прав или процесса. Установите, какой слой дал доказательство, прежде чем назначать причину. Так соседний симптом не станет якобы доказанной первопричиной.
Контрольная точка 2: Исправить отсутствие видео по протоколу RTSP, когда управление подключается, но UDP RTP за
Закрывайте «Исправить отсутствие видео по протоколу RTSP, когда управление подключается, но UDP RTP заблокирован. Охватывает правила брандмауэра, порт протокола R» только когда сохраненный, экспортированный или повторно открытый результат соответствует наблюдению. Временный отклик интерфейса полезен, но долговечное доказательство сильнее. Запишите оставшиеся ограничения.
Контрольная точка 3: Контроль работает, не значит, что СМИ работают
Для «Контроль работает, не значит, что СМИ работают» отделите решение продукта от границы системы, оборудования, исходного файла, прав или процесса. Установите, какой слой дал доказательство, прежде чем назначать причину. Так соседний симптом не станет якобы доказанной первопричиной.
Контрольная точка 4: Заголовок транспорта показывает план порта
Закрывайте «Заголовок транспорта показывает план порта» только когда сохраненный, экспортированный или повторно открытый результат соответствует наблюдению. Временный отклик интерфейса полезен, но долговечное доказательство сильнее. Запишите оставшиеся ограничения.
Контрольная точка 5: Распространенные сбои брандмауэра и NAT
Для «Распространенные сбои брандмауэра и NAT» отделите решение продукта от границы системы, оборудования, исходного файла, прав или процесса. Установите, какой слой дал доказательство, прежде чем назначать причину. Так соседний симптом не станет якобы доказанной первопричиной.
Контрольная точка 6: Почему чередующийся TCP часто работает
Закрывайте «Почему чередующийся TCP часто работает» только когда сохраненный, экспортированный или повторно открытый результат соответствует наблюдению. Временный отклик интерфейса полезен, но долговечное доказательство сильнее. Запишите оставшиеся ограничения.
Контрольная точка 7: RTCP может помочь доказать путь
Для «RTCP может помочь доказать путь» отделите решение продукта от границы системы, оборудования, исходного файла, прав или процесса. Установите, какой слой дал доказательство, прежде чем назначать причину. Так соседний симптом не станет якобы доказанной первопричиной.
Контрольная точка 8: Контрольный список отладки
Закрывайте «Контрольный список отладки» только когда сохраненный, экспортированный или повторно открытый результат соответствует наблюдению. Временный отклик интерфейса полезен, но долговечное доказательство сильнее. Запишите оставшиеся ограничения.
Контрольная точка 9: Окончательный диагноз
Для «Окончательный диагноз» отделите решение продукта от границы системы, оборудования, исходного файла, прав или процесса. Установите, какой слой дал доказательство, прежде чем назначать причину. Так соседний симптом не станет якобы доказанной первопричиной.
Контрольная точка 10: Воспроизводимая проверка темы «RTSP против UDP: почему RTSP подключается, но видео черное
Закрывайте «Воспроизводимая проверка темы «RTSP против UDP: почему RTSP подключается, но видео черное — RTP заблокирован брандмауэром, NAT и VPN»» только когда сохраненный, экспортированный или повторно открытый результат соответствует наблюдению. Временный отклик интерфейса полезен, но долговечное доказательство сильнее. Запишите оставшиеся ограничения.
Матрица приемки
| Точка | Сохраняемое доказательство | Критерий успеха |
|---|---|---|
| RTSP против UDP: почему RTSP подключается, но видео черное — RTP заблокирован брандмауэром, NAT и VPN | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Исправить отсутствие видео по протоколу RTSP, когда управление подключается, но UDP RTP заблокирован. Охватывает правила | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Контроль работает, не значит, что СМИ работают | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Заголовок транспорта показывает план порта | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Распространенные сбои брандмауэра и NAT | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
| Почему чередующийся TCP часто работает | Исходное состояние, одно действие и результат | Второй оператор воспроизводит заявленный результат |
Изоляция, восстановление и передача
Остановитесь на первой неуспешной границе. Сохраните источник, проект, сеанс или захват, сделайте копию перед разрушающим редактированием и меняйте одну переменную за опыт. Повтор широкого процесса после нескольких изменений может дать иной результат без объяснения причины.
Отличайте отсутствие доказательств от доказательства отсутствия. Пустой экран может означать неверный вход, область, фильтр, права, устройство, период или состояние проекта. Подтвердите получение или импорт до толкования decoder, редактора, отчета или экспорта.
Перед передачей повторно откройте артефакт и проверьте начало, точку решения и конец. Запишите версию, платформу, конфигурацию, ожидание, наблюдение и минимальное воспроизведение. Удалите или скройте чувствительные данные и проверьте полномочия получателя.
Вопросы и ответы
Как надежнее всего начать?
Возьмите минимальный репрезентативный случай, запишите ожидаемый результат и меняйте одну переменную. Подтвердите базовый путь до добавления фильтров, эффектов, правок, автоматизации или большого источника.
Какие доказательства сохранять?
Сохраните идентификатор входа, версию, платформу, настройки, точное действие, первый неожиданный переход и конечный выход. Закройте и повторно откройте проект, сеанс, отчет или экспорт.
Когда повторять процедуру?
После значимого изменения приложения, системы, драйвера, прошивки, модели, источника или процесса. Сохраните предыдущий принятый случай как неизменную основу сравнения.
Когда результат готов к передаче?
Когда другой уполномоченный человек определяет вход, повторяет действие, видит тот же результат, понимает ограничения и открывает артефакт без недокументированного локального состояния.
Связанные руководства
Эти страницы на том же языке описывают соседние этапы, не меняя канонического владельца темы:
<!-- multilingual-blog-closeout:end -->