RTSP Nedir?

RTSP (Real Time Streaming Protocol), akış medya sunucularını kontrol etmek için tasarlanmış bir ağ protokolüdür. Tüm dosyaları indiren HTTP'nin aksine, RTSP uç noktalar arasında medya oturumlarını kurar ve kontrol eder, ses ve video içeriğinin gerçek zamanlı oynatılmasını sağlar. IP kameralar, gözetim sistemleri ve video kodlayıcılar tarafından canlı video akışlarını ağ üzerinden iletmek için kullanılan standart protokoldür.

RTSP genellikle 554 portunda (veya güvenli RTSPS bağlantıları için 322) çalışır ve gerçek medya teslimini yöneten RTP (Real-time Transport Protocol) ile birlikte çalışır. Protokol PLAY, PAUSE ve TEARDOWN gibi komutları destekler ve istemcilere medya akışı üzerinde kontrol sağlar.

RTSP URL'leri Nasıl Çalışır?

Bir RTSP URL'si, medya oynatıcılarına bir akışa nasıl bağlanacaklarını belirten belirli bir yapıya sahiptir:

rtsp://[username:password@]host[:port]/path[?query_parameters]
  • Protokol: standart için rtsp://, şifreli bağlantılar için rtsps://
  • Kimlik Doğrulama: güvenli akışlar için isteğe bağlı kullanıcı adı ve şifre
  • Sunucu: kameranın/sunucunun IP adresi veya ana bilgisayar adı
  • Port: ağ portu (RTSP için varsayılan 554, RTSPS için 322)
  • Yol: akışı tanımlayan kamera‑spesifik uç nokta
  • Sorgu Parametreleri: kanal, alt tip veya kodlama ayarları gibi ek seçenekler

Farklı kamera üreticileri farklı yol formatları kullanır; bu nedenle doğru URL'yi bulmak, dokümantasyon olmadan zor olabilir.

Araç Açıklaması

Bu araç, IP kameralar ve akış cihazları için doğru biçimlendirilmiş RTSP URL'leri oluşturur. Hem standart RTSP hem de güvenli RTSPS protokollerini destekler, kimlik bilgilerindeki özel karakterler için URL kodlamasını gerçekleştirir ve Hikvision, Dahua, Axis, Foscam ve Sony gibi popüler kamera markaları için önceden tanımlı yollar içerir. Üreteç ayrıca VLC medya oynatıcı ve FFmpeg için kullanıma hazır komutlar da oluşturur.

Örnekler

Temel kamera akışı:

  • Sunucu: 192.168.1.100
  • Yol: /stream
  • Sonuç: rtsp://192.168.1.100/stream

Kimlik Doğrulamalı Hikvision kamera:

  • Sunucu: 192.168.1.64
  • Kullanıcı adı: admin
  • Şifre: camera123
  • Yol: /Streaming/Channels/101
  • Sonuç: rtsp://admin:camera123@192.168.1.64/Streaming/Channels/101

Özel portlu Dahua kamera:

  • Sunucu: 10.0.0.50
  • Port: 8554
  • Yol: /cam/realmonitor
  • Sorgu: channel=1&subtype=0
  • Sonuç: rtsp://10.0.0.50:8554/cam/realmonitor?channel=1&subtype=0

Özellikler

  • Çoklu protokoller: hem RTSP hem de güvenli RTSPS bağlantılarını destekler
  • Marka ön ayarları: Hikvision, Dahua, Axis, Foscam, Sony ve ONVIF uyumlu kameralar için yerleşik yol şablonları
  • Kimlik bilgisi kodlaması: özel karakter içeren kullanıcı adları ve şifreler için otomatik URL kodlaması
  • Sorgu parametresi oluşturucu: kanal numaraları ve akış kalitesi gibi özel parametrelerin kolay eklenmesi
  • Komut üretimi: VLC oynatma ve FFmpeg kayıt komutlarını otomatik oluşturur

Kullanım Senaryoları

  • Güvenlik sistemi kurulumu: doğru bağlantı URL'leri oluşturarak IP kameraları NVR sistemleri veya video yönetim yazılımları için yapılandırma
  • Ev otomasyonu entegrasyonu: kamera akışlarını Home Assistant veya Node-RED gibi akıllı ev platformlarına eklemek için RTSP URL'leri oluşturma
  • Video kayıt betikleri: kamera akışlarının planlı kaydı veya sürekli arşivlenmesi için FFmpeg komutları oluşturma
  • Uzaktan izleme: mobil uygulamaları veya masaüstü oynatıcıları, IP kameralardan yerel ağ veya VPN üzerinden canlı akış izlemek için yapılandırma
  • Bağlantı sorunlarını giderme: kamera bağlantı sorunlarını teşhis ederken farklı URL formatlarını ve parametreleri test etme

Yaygın kamera yol formatları

Marka Ana Akış Alt Akış
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 ve FFmpeg Kullanımı

Oluşturulan komutlar doğrudan terminalde kullanılabilir:

VLC oynatma:

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

FFmpeg kaydetme:

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

FFmpeg yeniden bağlanma ile (kararsız akışlar için):

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