Что такое RTSP?

RTSP (Real Time Streaming Protocol) — сетевой протокол, предназначенный для управления серверами потокового медиа. В отличие от HTTP, который загружает целые файлы, RTSP устанавливает и контролирует медиа‑сеансы между конечными точками, позволяя воспроизводить аудио‑ и видеоконтент в реальном времени. Это стандартный протокол, используемый IP‑камерами, системами видеонаблюдения и видеокодерами для передачи живых видеопотоков по сети.

RTSP обычно работает на порту 554 (или 322 для защищённых соединений RTSPS) и взаимодействует с RTP (Real-time Transport Protocol), который отвечает за фактическую доставку медиа. Протокол поддерживает команды PLAY, PAUSE и TEARDOWN, давая клиентам контроль над медиапотоком.

Как работают RTSP‑URL?

RTSP‑URL имеет определённую структуру, указывающую медиаплееру, как подключиться к потоку:

rtsp://[username:password@]host[:port]/path[?query_parameters]
  • Protocol: rtsp:// — для обычных соединений или rtsps:// — для зашифрованных
  • Authentication: необязательное имя пользователя и пароль для защищённых потоков
  • Host: IP‑адрес или имя хоста камеры/сервера
  • Port: сетевой порт (по умолчанию 554 для RTSP, 322 для RTSPS)
  • Path: путь, специфичный для камеры, определяющий поток
  • Query Parameters: дополнительные параметры, такие как канал, подтип или настройки кодирования

Разные производители камер используют разные форматы путей, поэтому без документации найти правильный URL может быть сложно.

Описание инструмента

Этот инструмент генерирует корректно сформированные RTSP‑URL для IP‑камер и потоковых устройств. Он поддерживает как обычный RTSP, так и защищённый RTSPS, автоматически кодирует специальные символы в учётных данных и включает готовые шаблоны путей для популярных брендов — Hikvision, Dahua, Axis, Foscam и Sony. Генератор также создаёт готовые команды для VLC media player и FFmpeg.

Примеры

Базовый поток камеры:

  • Host: 192.168.1.100
  • Path: /stream
  • Result: rtsp://192.168.1.100/stream

Аутентифицированная камера Hikvision:

  • Host: 192.168.1.64
  • Username: admin
  • Password: camera123
  • Path: /Streaming/Channels/101
  • Result: rtsp://admin:camera123@192.168.1.64/Streaming/Channels/101

Камера Dahua с пользовательским портом:

  • Host: 10.0.0.50
  • Port: 8554
  • Path: /cam/realmonitor
  • Query: channel=1&subtype=0
  • Result: rtsp://10.0.0.50:8554/cam/realmonitor?channel=1&subtype=0

Возможности

  • Несколько протоколов: поддержка как RTSP, так и защищённого RTSPS
  • Шаблоны брендов: встроенные пути для Hikvision, Dahua, Axis, Foscam, Sony и камер, совместимых с ONVIF
  • Кодирование учётных данных: автоматическое URL‑кодирование имён пользователей и паролей со специальными символами
  • Конструктор параметров запроса: простое добавление пользовательских параметров, например номера канала или качества потока
  • Генерация команд: автоматическое создание команд для воспроизведения в VLC и записи в FFmpeg

Сценарии использования

  • Настройка системы безопасности: конфигурирование IP‑камер для NVR‑систем или программ управления видео, генерируя правильные URL‑подключения
  • Интеграция с домашней автоматикой: создание RTSP‑URL для добавления видеопотоков в платформы умного дома, такие как Home Assistant или Node‑RED
  • Скрипты видеозаписи: генерация команд FFmpeg для плановой записи или непрерывного архивирования потоков камер
  • Удалённый мониторинг: настройка мобильных приложений или настольных плееров для просмотра живых видеопотоков по локальной сети или VPN
  • Устранение проблем с подключением: тестирование разных форматов URL и параметров при диагностике проблем с подключением камер

Общие форматы путей камер

Бренд Основной поток Дополнительный поток
Hikvision /Streaming/Channels/101 /Streaming/Channels/102
Dahua /cam/realmonitor?channel=1&subtype=0 /cam/realmonitor?channel=1&subtype=1
Axis /video1 /video2
Foscam /videoMain /videoSub
Sony /MediaInput/h264 /MediaInput/h264/sub
ONVIF /onvif1 /onvif2

Использование VLC и FFmpeg

Сгенерированные команды можно сразу выполнять в терминале:

Воспроизведение в VLC:

vlc "rtsp://admin:pass@192.168.1.100/stream"

Запись с помощью FFmpeg:

ffmpeg -i "rtsp://admin:pass@192.168.1.100/stream" -c copy output.mp4

FFmpeg с переподключением (для нестабильных потоков):

ffmpeg -rtsp_transport tcp -i "rtsp://admin:pass@192.168.1.100/stream" -c copy output.mp4