Domowe kamery zwykle kupuje się w pakiecie z aplikacją producenta, a nagrania trafiają do jego chmury. Działa to do czasu, aż abonament zdrożeje, usługa zniknie albo ktoś znajdzie w niej dziurę. W październiku 2026 roku CERT-UA ostrzegł, że atakujący dostają się do kamer Dahua przez funkcję chmurową Easy4IP, zgadując numery seryjne, i nie potrzebują do tego żadnego otwartego portu na routerze ofiary (pisaliśmy o tym w wiadomościach).

Można inaczej: traktować kamerę jak zwykłe źródło obrazu w sieci lokalnej, a nagrywanie, podgląd i wykrywanie ruchu robić na sprzęcie, nad którym masz kontrolę. Umożliwiają to dwa standardy, RTSP i ONVIF. Poniżej wyjaśniam, do czego służy każdy z nich, jak sprawdzić kamerę przed zakupem, jak uruchomić strumień i jak odciąć całość od internetu.

RTSP i ONVIF to dwie różne rzeczy

RTSP (Real-Time Streaming Protocol) służy do przesyłania samego obrazu. Kamera, która go obsługuje, udostępnia jeden lub kilka adresów strumieni, zwykle na porcie 554, a obraz może z nich pobrać każdy zgodny odtwarzacz albo rejestrator. VLC go wyświetli, nagrywarka sieciowa (NVR) zapisze, a Frigate przeanalizuje. RTSP nie wyszukuje kamer w sieci i nie zmienia ich ustawień, więc adres trzeba znać.

ONVIF to branżowy standard komunikacji z kamerą jako urządzeniem. Dzięki niemu można znaleźć kamerę w sieci, odczytać adresy strumieni, sterować obrotem i pochyleniem (PTZ), odbierać zdarzenia ruchu, a w niektórych modelach także zarządzać nagraniami. Funkcje ONVIF są pogrupowane w profile:

  • Profil S: podstawowe przesyłanie obrazu i konfiguracja, a jeśli urządzenie je ma, także PTZ, dźwięk i wyjścia przekaźnikowe.
  • Profil T: zaawansowane przesyłanie obrazu w H.264 i H.265, ustawienia obrazu, zdarzenia ruchu i sabotażu, metadane oraz dźwięk w obie strony.
  • Profil G: nagrywanie w samym urządzeniu (na przykład na karcie SD) oraz wyszukiwanie i pobieranie tych nagrań.
  • Profil M: metadane i zdarzenia z analizy obrazu, na przykład o wykrytych obiektach, opcjonalnie wysyłane przez MQTT.

W praktyce rejestrator często znajduje kamerę i odczytuje jej ustawienia przez ONVIF, a obraz pobiera przez RTSP. Tak samo opisuje to pomoc techniczna Tapo: RTSP daje bezpośredni strumień obrazu, a ONVIF dokłada funkcje zarządzania, takie jak sterowanie PTZ.

Profil S odchodzi

9 października 2025 roku organizacja ONVIF ogłosiła, że kończy wsparcie dla profilu S. Po 31 marca 2027 roku producenci nie zgłoszą już do certyfikacji zgodności z tym profilem ani nowych produktów, ani nowych wersji oprogramowania. Chodzi o bezpieczeństwo: profil S wymaga uwierzytelniania typu „username token”, które ONVIF uznaje dziś za zbyt słabe, by chronić przed nieuprawnionym dostępem. Profil T, wprowadzony w 2018 roku, zawiera praktycznie wszystko, co profil S, a do tego uwierzytelnianie typu digest i opcjonalne przesyłanie obrazu przez HTTPS.

Kamery, które już masz, nadal będą działać. Według ONVIF zmiana nie dotyczy działających instalacji z profilem S, choć poszczególni producenci mogą w przyszłych wersjach oprogramowania wyłączyć „username token”. Przy nowych zakupach szukaj w specyfikacji profilu T. Jeśli na pudełku jest tylko napis „ONVIF” bez profilu, sprawdź model na liście produktów zgodnych na stronie ONVIF albo zapytaj sprzedawcę.

Sprawdź, zanim kupisz

Obsługa tych protokołów różni się bardziej, niż sugerują materiały reklamowe, nawet w obrębie jednej marki. Dobrym przykładem jest Reolink, bo publikuje czytelną tabelę:

  • kamery PoE i kamery Wi-Fi zasilane z sieci, na przykład z serii RLC i Duo, obsługują RTSP i ONVIF samodzielnie;
  • kamery Wi-Fi na baterie (serie Argus i Altas, wideodzwonek na baterie) obsługują je tylko przez centralę Reolink Home Hub albo rejestrator Reolink;
  • kamery 4G LTE nie obsługują ich wcale.

Tapo podaje, że jego kamery przewodowe obsługują RTSP i ONVIF w profilu S. Taki układ jest częsty. Kamery na baterie przez większość czasu śpią, żeby oszczędzać energię, więc rzadko udostępniają strumień, który rejestrator mógłby pobierać przez całą dobę. Jeśli zależy ci na ciągłym nagrywaniu, wybierz kamerę przewodową, najlepiej PoE, bo wtedy jednym kablem doprowadzasz i zasilanie, i sieć.

Krótka lista rzeczy do sprawdzenia na stronie produktu albo w instrukcji:

  1. Obsługa RTSP i opisany w dokumentacji adres strumienia.
  2. ONVIF, najlepiej w profilu T.
  3. Strumień główny i co najmniej jeden pomocniczy, żeby nagrywać w wysokiej rozdzielczości, a podgląd i analizę robić na lżejszym strumieniu.
  4. Możliwość wyboru H.264. H.265 oszczędza miejsce, ale przeglądarki obsługują go słabo. Według dokumentacji Frigate najlepszą zgodność daje H.264 z dźwiękiem AAC.
  5. Możliwość korzystania z kamery bez konta w chmurze albo przynajmniej wyłączenia zdalnego dostępu.

Jak zdobyć adres strumienia

Każdy producent buduje adres RTSP po swojemu, więc zajrzyj do dokumentacji. Dwa przykłady.

Tapo. Najpierw załóż w aplikacji osobne konto kamery: stuknij kamerę, otwórz ustawienia (ikona koła zębatego), a potem Advanced Settings > Camera Account. To nie jest login do konta Tapo. Nazwa użytkownika i hasło muszą mieć od 6 do 32 znaków. Strumienie mają wtedy takie adresy:

rtsp://uzytkownik:[email protected]:554/stream1   (wysoka jakość)
rtsp://uzytkownik:[email protected]:554/stream2   (niższa jakość)

ONVIF w kamerach Tapo działa na porcie 2020.

Reolink. W modelach, które mają przełączniki portów, najpierw włącz RTSP i ONVIF (w programie Reolink Client: Device Settings > Network > Advanced > Server Settings). Reolink podaje takie adresy:

rtsp://uzytkownik:[email protected]:554/Preview_01_main
rtsp://uzytkownik:[email protected]:554/Preview_01_sub

Starsze wersje oprogramowania używają ścieżek h264Preview_01_main albo h265Preview_01_main. Domyślny port ONVIF to 8000.

Zanim zaczniesz konfigurować rejestrator, sprawdź sam adres. W VLC wybierz Media > Open Network Stream i wklej go. Na Linuksie z zainstalowanym FFmpeg kodek, rozdzielczość i liczbę klatek na sekundę pokaże ffprobe:

ffprobe -rtsp_transport tcp "rtsp://uzytkownik:[email protected]:554/stream1"

Jeśli VLC wyświetla obraz, a rejestrator nie, problem leży w konfiguracji rejestratora, a nie w kamerze.

Gdzie nagrywać

Możliwości jest kilka, od zamkniętych skrzynek po otwarte oprogramowanie:

  • Osobna nagrywarka (NVR). Dedykowane urządzenie z dyskami, często od producenta kamer. Proste w obsłudze, ale jego oprogramowanie i zdalny dostęp wymagają takiej samej uwagi jak kamery.
  • Serwer NAS. Na przykład Synology Surveillance Station dodaje kamery przez ONVIF albo po ręcznie wpisanym adresie RTSP. Tę drogę opisują w swojej dokumentacji zarówno Reolink, jak i Tapo.
  • Agent DVR, Blue Iris i podobne programy na domowym komputerze albo serwerze. Tapo w swoim poradniku pokazuje dodawanie kamery przez ONVIF właśnie w Agent DVR.
  • Frigate. Otwartoźródłowy rejestrator z wykrywaniem obiektów, uruchamiany w Dockerze. Działa samodzielnie, a jeśli używasz Home Assistanta, łączy się też z nim.

Bez względu na wybór ustawienia samej kamery znaczą tyle samo co program. Poradnik konfiguracji kamer w dokumentacji Frigate przyda się, nawet jeśli nigdy go nie zainstalujesz. Proponuje rozdzielić trzy zadania:

  • Nagrywanie: strumień główny w pełnej rozdzielczości, około 15 klatek na sekundę.
  • Wykrywanie: strumień pomocniczy w umiarkowanej rozdzielczości, 5 klatek na sekundę. Według dokumentacji Frigate 5 klatek wystarcza niemal każdej kamerze, a wyższa rozdzielczość nie poprawia skuteczności wykrywania, chyba że obiekty są w kadrze bardzo małe.
  • Podgląd na żywo: strumień na tyle lekki, żeby bez problemu ładował się w telefonie.

Rozdzielczość i liczbę klatek ustawiaj w kamerze, a nie obniżaj ich programowo. Twórcy Frigate zwracają uwagę, że odrzucanie klatek na serwerze marnuje moc procesora, bo i tak musi je najpierw zdekodować. Zalecają też te same proporcje obrazu w obu strumieniach: jeśli główny ma 3840x2160, ustaw pomocniczy na 640x360, a nie 640x480.

Jedna kamera, kilku odbiorców

Tanie kamery mogą sobie nie radzić, gdy ten sam strumień pobiera jednocześnie kilka programów. Rozwiązuje to go2rtc: łączy się z kamerą raz, a obraz rozsyła dalej przez RTSP, WebRTC i w innych formatach. Najprostsza konfiguracja to jeden wpis:

streams:
  podjazd: rtsp://uzytkownik:[email protected]:554/Preview_01_main

Uważaj na ustawienia domyślne. go2rtc uruchamia interfejs WWW na porcie 1984, RTSP na 8554 i WebRTC na 8555, wszystkie dostępne z sieci lokalnej, a dokumentacja wprost przyznaje, że każdy w tej sieci może oglądać obraz z kamer bez logowania. Ustaw w konfiguracji nazwę użytkownika i hasło albo trzymaj go2rtc w sieci, do której dostęp masz tylko ty.

Odetnij kamery od internetu

Nagrywanie lokalne ma sens tylko wtedy, gdy kamera nie łączy się dalej w tle z chmurą producenta. Kilka zasad:

  • Nie przekierowuj portów. Reolink w dokumentacji wyjaśnia, że RTSP zadziała przez internet po ustawieniu przekierowania portów. Nie rób tego. Do rejestratora łącz się z zewnątrz przez VPN, na przykład WireGuard albo Tailscale.
  • Wyłącz P2P i zdalny dostęp przez UID w ustawieniach kamery, jeśli nie korzystasz z aplikacji. To właśnie tę funkcję wykorzystano w przypadku Dahua.
  • Zablokuj kamerom dostęp do internetu na routerze. Przenieś je do osobnej sieci VLAN albo osobnej sieci Wi-Fi i pozwól tylko na ruch do rejestratora. Jak zaplanować reguły, opisujemy w artykule o sieciach VLAN. Aplikacja producenta przestanie wtedy działać spoza domu i właśnie o to chodzi.
  • Traktuj dane logowania RTSP jak hasła. Są zapisane w adresie, więc lądują w plikach konfiguracyjnych. Tapo radzi korzystać z RTSP i ONVIF tylko w zaufanej sieci lokalnej z szyfrowanym Wi-Fi, a hasło konta kamery ustawić inne niż do konta w chmurze.
  • Aktualizuj oprogramowanie. Gdy chmura jest zablokowana, aplikacja producenta może przestać proponować aktualizacje. Co jakiś czas zajrzyj na stronę producenta i wgraj je ręcznie.

Typowe problemy

  1. Strumień działa w VLC, ale nie w przeglądarce. Przeglądarki nie odtwarzają RTSP. Potrzebny jest rejestrator albo program, który przerobi strumień na inny format, na przykład go2rtc z WebRTC.
  2. Obraz się zacina albo rozmazuje. Wymuś przesyłanie przez TCP (-rtsp_transport tcp w narzędziach FFmpeg, podobną opcję ma większość rejestratorów). Przy Wi-Fi sprawdź też siłę sygnału.
  3. H.265 się nie odtwarza. Strumień, który oglądasz, przełącz na H.264. H.265 zostaw tylko do nagrywania i tylko wtedy, gdy rejestrator go obsługuje.
  4. Rejestrator nie znajduje kamery przez ONVIF. Sprawdź port ONVIF (2020 w Tapo, domyślnie 8000 w Reolinku) i to, czy ONVIF w ogóle jest włączony. Wyszukiwanie może nie przechodzić między sieciami VLAN, więc dodaj kamerę po adresie IP.
  5. Znaki specjalne w haśle psują adres. Znaki takie jak @, : czy / trzeba zakodować w adresie URL. Prościej po prostu nie używać ich w haśle konta kamery.