Co to jest RTSP?

RTSP (Real Time Streaming Protocol) to protokół sieciowy zaprojektowany do sterowania serwerami strumieniującymi media. W przeciwieństwie do HTTP, który pobiera całe pliki, RTSP ustanawia i kontroluje sesje medialne pomiędzy punktami końcowymi, umożliwiając odtwarzanie audio i wideo w czasie rzeczywistym. Jest to standardowy protokół używany przez kamery IP, systemy nadzoru i enkodery wideo do przesyłania strumieni wideo na żywo przez sieci.

RTSP zazwyczaj działa na porcie 554 (lub 322 dla bezpiecznych połączeń RTSPS) i współpracuje z RTP (Real-time Transport Protocol), który obsługuje rzeczywistą dostawę mediów. Protokół obsługuje komendy takie jak PLAY, PAUSE i TEARDOWN, dając klientom kontrolę nad strumieniem mediów.

Jak działają adresy RTSP?

Adres RTSP ma określoną strukturę, która informuje odtwarzacze multimedialne, jak połączyć się ze strumieniem:

rtsp://[username:password@]host[:port]/path[?query_parameters]
  • Protokół: rtsp:// dla standardowych lub rtsps:// dla połączeń szyfrowanych
  • Uwierzytelnianie: Opcjonalna nazwa użytkownika i hasło dla zabezpieczonych strumieni
  • Host: adres IP lub nazwa hosta kamery/serwera
  • Port: port sieciowy (domyślnie 554 dla RTSP, 322 dla RTSPS)
  • Ścieżka: specyficzny dla kamery punkt końcowy identyfikujący strumień
  • Parametry zapytania: dodatkowe opcje, takie jak kanał, podtyp lub ustawienia kodowania

Różni producenci kamer używają różnych formatów ścieżek, co sprawia, że znalezienie prawidłowego adresu może być trudne bez dokumentacji.

Opis narzędzia

To narzędzie generuje prawidłowo sformatowane adresy RTSP dla kamer IP i urządzeń strumieniujących. Obsługuje zarówno standardowy RTSP, jak i bezpieczny RTSPS, radzi sobie z kodowaniem URL dla znaków specjalnych w danych uwierzytelniających oraz zawiera wbudowane ścieżki dla popularnych marek kamer, takich jak Hikvision, Dahua, Axis, Foscam i Sony. Generator tworzy także gotowe polecenia dla odtwarzacza VLC i FFmpeg.

Przykłady

Podstawowy strumień kamery:

  • Host: 192.168.1.100
  • Ścieżka: /stream
  • Wynik: rtsp://192.168.1.100/stream

Kamera Hikvision z uwierzytelnieniem:

  • Host: 192.168.1.64
  • Nazwa użytkownika: admin
  • Hasło: camera123
  • Ścieżka: /Streaming/Channels/101
  • Wynik: rtsp://admin:camera123@192.168.1.64/Streaming/Channels/101

Kamera Dahua z niestandardowym portem:

  • Host: 10.0.0.50
  • Port: 8554
  • Ścieżka: /cam/realmonitor
  • Parametry zapytania: channel=1&subtype=0
  • Wynik: rtsp://10.0.0.50:8554/cam/realmonitor?channel=1&subtype=0

Funkcje

  • Wiele protokołów: Obsługa zarówno RTSP, jak i bezpiecznych połączeń RTSPS
  • Szablony marek: Wbudowane szablony ścieżek dla Hikvision, Dahua, Axis, Foscam, Sony oraz kamer zgodnych z ONVIF
  • Kodowanie danych uwierzytelniających: Automatyczne kodowanie URL dla nazw użytkowników i haseł zawierających znaki specjalne
  • Kreator parametrów zapytania: Łatwe dodawanie własnych parametrów, takich jak numery kanałów i jakość strumienia
  • Generowanie poleceń: Automatyczne tworzenie poleceń odtwarzania w VLC i nagrywania w FFmpeg

Przypadki użycia

  • Konfiguracja systemu bezpieczeństwa: Konfiguracja kamer IP dla systemów NVR lub oprogramowania do zarządzania wideo poprzez generowanie prawidłowych adresów połączeń
  • Integracja z automatyką domową: Tworzenie adresów RTSP w celu dodania strumieni kamer do platform inteligentnego domu, takich jak Home Assistant lub Node-RED
  • Skrypty nagrywania wideo: Generowanie poleceń FFmpeg do zaplanowanego nagrywania lub ciągłego archiwizowania strumieni kamer
  • Zdalny monitoring: Konfiguracja aplikacji mobilnych lub odtwarzaczy desktopowych do podglądu strumieni na żywo z kamer IP w sieci lokalnej lub przez VPN
  • Rozwiązywanie problemów z połączeniami: Testowanie różnych formatów adresów i parametrów przy diagnozowaniu problemów z łącznością kamer

Typowe formaty ścieżek kamer

Marka Strumień główny Strumień podany
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

Użycie VLC i FFmpeg

Wygenerowane polecenia można używać bezpośrednio w terminalu:

Odtwarzanie w VLC:

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

Nagrywanie w FFmpeg:

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

FFmpeg z ponownym połączeniem (dla niestabilnych strumieni):

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