{"id":12951,"date":"2026-09-09T18:25:00","date_gmt":"2026-09-09T16:25:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=12951"},"modified":"2026-09-09T13:21:24","modified_gmt":"2026-09-09T11:21:24","slug":"tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/","title":{"rendered":"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP"},"content":{"rendered":"<p>Kamera IP przesy\u0142a obraz przez RTSP, a RTSP jest znormalizowany. Adres prowadz\u0105cy do obrazu ju\u017c nie. Ka\u017cdy producent wymy\u015bli\u0142 w\u0142asn\u0105 \u015bcie\u017ck\u0119, a kamera zapytana pod z\u0142\u0105 \u015bcie\u017ck\u0105 odpowiada dok\u0142adnie tak samo jak przy z\u0142ym ha\u015ble: wcale.<\/p>\n<p>Taki adres sk\u0142ada si\u0119 z sze\u015bciu cz\u0119\u015bci. Cztery wygl\u0105daj\u0105 jednakowo w ka\u017cdej kamerze, dwie trzeba sprawdzi\u0107 u konkretnego producenta. Poni\u017cej kolejno\u015b\u0107, w jakiej najlepiej te cz\u0119\u015bci z\u0142o\u017cy\u0107, oraz jedno polecenie rozstrzygaj\u0105ce, czy wynik dzia\u0142a &#8211; zanim trafi do rejestratora, gdzie b\u0142\u0105d chowa si\u0119 za sze\u015bcioma innymi ustawieniami.<\/p>\n<figure class=\"lw-diagram\">\n<img src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/rtsp-adressen-pl.png\" width=\"1120\" height=\"580\" decoding=\"async\" loading=\"lazy\"\n     alt=\"Adres RTSP roz\u0142o\u017cony na sze\u015b\u0107 kolorowych odcink\u00f3w z obja\u015bnieniem ka\u017cdej cz\u0119\u015bci, obok lista \u015bcie\u017cek strumieni czterech producent\u00f3w kamer\"><figcaption>Tylko dwa ostatnie odcinki r\u00f3\u017cni\u0105 si\u0119 zale\u017cnie od producenta. Wszystko przed nimi jest identyczne w ka\u017cdej kamerze.<\/figcaption><\/figure>\n<h2>Sze\u015b\u0107 cz\u0119\u015bci adresu strumienia<\/h2>\n<p>Adres RTSP jest zbudowany jak adres internetowy: schemat, dane logowania, host, port, \u015bcie\u017cka, a w cz\u0119\u015bci kamer jeszcze ci\u0105g zapytania nios\u0105cy numer strumienia.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>rtsp:\/\/admin:Sommer%402026@192.168.1.64:554\/Streaming\/Channels\/102\nrtsp:\/\/admin:Sommer%402026@192.168.1.64:554\/cam\/realmonitor?channel=1&amp;subtype=1\nrtsps:\/\/192.168.1.1:7441\/aBcD1234EfGh?enableSrtp<\/code><\/pre>\n<p>Schemat to <code>rtsp<\/code>, a port 554, dop\u00f3ki nikt go nie przeni\u00f3s\u0142. Ubiquiti stanowi wyj\u0105tek wart zapami\u0119tania: UniFi Protect odpowiada na <code>rtsps<\/code> na porcie 7441, odrzuca zwyk\u0142e RTSP i zamiast czytelnej \u015bcie\u017cki wydaje nieprzejrzysty identyfikator. Ten identyfikator pojawia si\u0119 dopiero po w\u0142\u0105czeniu RTSP dla pojedynczej kamery w Protect.<\/p>\n<p>Host oznacza kamer\u0119, nigdy rejestrator. Rejestrator potrafi wystawi\u0107 strumie\u0144 ponownie, ale wtedy pod w\u0142asnym adresem i na w\u0142asnym porcie &#8211; a b\u0142\u0105d na tej warstwie wygl\u0105da jak uszkodzona kamera.<\/p>\n<h2>Dlaczego \u015bcie\u017cka w ka\u017cdej kamerze nazywa si\u0119 inaczej<\/h2>\n<p>\u015acie\u017cka niesie dwie informacje, dla kt\u00f3rych sam RTSP nie ma pola: kt\u00f3ry obiektyw i kt\u00f3ry z jego strumieni. Niemal ka\u017cda kamera oferuje co najmniej dwa &#8211; strumie\u0144 g\u0142\u00f3wny w pe\u0142nej rozdzielczo\u015bci do zapisu i podstrumie\u0144 o czwartej cz\u0119\u015bci tej rozdzielczo\u015bci do podgl\u0105du i analizy ruchu.<\/p>\n<table style=\"width:100%;border-collapse:collapse;table-layout:auto;\">\n<thead>\n<tr>\n<th style=\"white-space:nowrap;vertical-align:top;\">Producent<\/th>\n<th style=\"vertical-align:top;\">Strumie\u0144 g\u0142\u00f3wny<\/th>\n<th style=\"vertical-align:top;\">Podstrumie\u0144<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Hikvision<\/td>\n<td>\/Streaming\/Channels\/101<\/td>\n<td>\/Streaming\/Channels\/102<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Dahua, Amcrest<\/td>\n<td>\/cam\/realmonitor?channel=1&amp;subtype=0<\/td>\n<td>\/cam\/realmonitor?channel=1&amp;subtype=1<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Reolink<\/td>\n<td>\/h264Preview_01_main<\/td>\n<td>\/h264Preview_01_sub<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Axis<\/td>\n<td>\/axis-media\/media.amp<\/td>\n<td>\/axis-media\/media.amp?resolution=640&#215;360<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Numeracja Hikvision jest przekr\u0119cana najcz\u0119\u015bciej. Trzy cyfry to sklejone ze sob\u0105 kana\u0142 i strumie\u0144: z 1 oraz 01 powstaje 101, drugi strumie\u0144 pierwszego kana\u0142u to 102. W kamerze z jednym obiektywem kana\u0142 zawsze wynosi 1; w obudowie z kilkoma matrycami drugi obiektyw nosi numery 201 i 202.<\/p>\n<p>Zgadywanie staje si\u0119 zb\u0119dne, gdy kamera obs\u0142uguje ONVIF. Wywo\u0142anie <code>GetStreamUri<\/code> zwraca adres, kt\u00f3ry sama kamera uwa\u017ca za poprawny, wraz ze \u015bcie\u017ck\u0105 &#8211; a ta odpowied\u017a bije ka\u017cd\u0105 tabel\u0119.<\/p>\n<h2>Has\u0142a, kt\u00f3re rozbijaj\u0105 adres<\/h2>\n<p>Dane logowania stoj\u0105 mi\u0119dzy schematem a hostem, oddzielone dwukropkiem i zamkni\u0119te znakiem ma\u0142py. W\u0142a\u015bnie tam siedzi najcichszy b\u0142\u0105d: has\u0142o zawieraj\u0105ce ma\u0142p\u0119, dwukropek, uko\u015bnik lub krzy\u017cyk ko\u0144czy dane logowania za wcze\u015bnie, a reszta has\u0142a zostaje odczytana jako nazwa hosta.<\/p>\n<p>Lekarstwem jest kodowanie procentowe. Ma\u0142pa zamienia si\u0119 w <code>%40<\/code>, dwukropek w <code>%3A<\/code>, uko\u015bnik w <code>%2F<\/code>, krzy\u017cyk w <code>%23<\/code>, znak zapytania w <code>%3F<\/code>. Has\u0142o <code>Sommer@2026<\/code> pojawia si\u0119 wi\u0119c w adresie jako <code>Sommer%402026<\/code> i pozostaje w kamerze niezmienione.<\/p>\n<p>Do drugiej strony tej sprawy nale\u017cy uwaga: wiele kamer uwierzytelnia si\u0119 przez RTSP digest, a nie przez Basic Auth. Has\u0142o nie w\u0119druje zatem przez sie\u0107 otwartym tekstem, cho\u0107 otwartym tekstem stoi w adresie. Otwartym tekstem w\u0119druje natomiast sam adres &#8211; w historii pow\u0142oki, w pliku Compose, w linii dziennika. Dane logowania do kamery nale\u017c\u0105 wi\u0119c do osobnego konta z samym prawem podgl\u0105du, nigdy do konta administratora.<\/p>\n<h2>Sprawdzenie adresu, zanim gdziekolwiek trafi<\/h2>\n<p>Jedno polecenie odpowiada na jedyne pytanie, kt\u00f3re na tym etapie si\u0119 liczy. Otwiera strumie\u0144, czyta pierwsze pakiety, wypisuje znalezione dane i ko\u0144czy prac\u0119.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>ffprobe -hide_banner -rtsp_transport tcp \\\n  -i \"rtsp:\/\/admin:Sommer%402026@192.168.1.64:554\/Streaming\/Channels\/102\"<\/code><\/pre>\n<p>Dzia\u0142aj\u0105cy adres w ci\u0105gu sekundy lub dw\u00f3ch wypisuje lini\u0119 strumienia z kodekiem, rozdzielczo\u015bci\u0105 i liczb\u0105 klatek. Wszystko inne jest diagnoz\u0105, a cztery cz\u0119ste odpowiedzi wskazuj\u0105 w cztery r\u00f3\u017cne strony.<\/p>\n<table style=\"width:100%;border-collapse:collapse;table-layout:auto;\">\n<thead>\n<tr>\n<th style=\"white-space:nowrap;vertical-align:top;\">Odpowied\u017a<\/th>\n<th style=\"vertical-align:top;\">Znaczenie<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">401 Unauthorized<\/td>\n<td>Host i \u015bcie\u017cka s\u0105 poprawne, dane logowania nie &#8211; albo konto nie ma prawa do strumienia<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">404 Not Found<\/td>\n<td>Dane logowania przyj\u0119te, \u015bcie\u017cka b\u0142\u0119dna &#8211; o jednego producenta albo jeden numer strumienia obok<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Connection refused<\/td>\n<td>Na porcie 554 nic nie nas\u0142uchuje; RTSP wy\u0142\u0105czone w kamerze albo port przeniesiony<\/td>\n<\/tr>\n<tr>\n<td style=\"white-space:nowrap;vertical-align:top;\">Przekroczenie czasu po handshake<\/td>\n<td>Sesja stoi, pakiety wideo nie docieraj\u0105 &#8211; niemal zawsze zablokowany UDP<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Ostatnia z czterech t\u0142umaczy, dlaczego w poleceniu stoi <code>-rtsp_transport tcp<\/code>. Domy\u015blnie kana\u0142 steruj\u0105cy biegnie przez TCP, a obraz przez UDP na osobnych portach. Przez granic\u0119 VLAN albo przez zapor\u0119 handshake dochodzi wi\u0119c do skutku, a obraz mimo to nigdy nie przychodzi. Wymuszony TCP kosztuje troch\u0119 op\u00f3\u017anienia i usuwa ca\u0142\u0105 klas\u0119 usterek.<\/p>\n<h2>Kt\u00f3ry strumie\u0144 gdzie nale\u017cy<\/h2>\n<p>Gdy adres ju\u017c dzia\u0142a, podstrumie\u0144 okazuje si\u0119 po\u017cyteczniejsz\u0105 po\u0142ow\u0105. Zapis potrzebuje strumienia g\u0142\u00f3wnego, bo to ten materia\u0142 ogl\u0105da ubezpieczyciel albo s\u0105d. Analiza ruchu i wykrywanie obiekt\u00f3w potrzebuj\u0105 ma\u0142ych obraz\u00f3w i z nimi przyspieszaj\u0105: detektor karmiony klatkami 4K sp\u0119dza czas na ich pomniejszaniu.<\/p>\n<p>Frigate wyra\u017ca ten podzia\u0142 wprost, przypisuj\u0105c rol\u0119 ka\u017cdemu strumieniowi &#8211; ta sama my\u015bl dotyczy ka\u017cdego rejestratora przyjmuj\u0105cego dwa wej\u015bcia na kamer\u0119.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>cameras:\n  wjazd:\n    ffmpeg:\n      inputs:\n        - path: rtsp:\/\/admin:Sommer%402026@192.168.1.64:554\/Streaming\/Channels\/102\n          input_args: preset-rtsp-restream\n          roles: [detect]\n        - path: rtsp:\/\/admin:Sommer%402026@192.168.1.64:554\/Streaming\/Channels\/101\n          input_args: preset-rtsp-restream\n          roles: [record]<\/code><\/pre>\n<p>Dwa po\u0142\u0105czenia do jednej kamery bywaj\u0105 zarazem g\u00f3rn\u0105 granic\u0105. Tanie kamery dopuszczaj\u0105 cztery r\u00f3wnoczesne sesje RTSP, czasem tylko dwie, a pi\u0105ta pr\u00f3ba ko\u0144czy si\u0119 komunikatem niemaj\u0105cym nic wsp\u00f3lnego z adresem. Restreamer taki jak go2rtc rozwi\u0105zuje to, otwieraj\u0105c jedn\u0105 sesj\u0119 i rozdaj\u0105c kopie pozosta\u0142ym.<\/p>\n<h2>Co i tak psuje si\u0119 p\u00f3\u017aniej<\/h2>\n<p>Adres, kt\u00f3ry raz zadzia\u0142a\u0142, potrafi przesta\u0107 dzia\u0142a\u0107, cho\u0107 nic si\u0119 w nim nie zmieni\u0142o. Trzy przyczyny obejmuj\u0105 niemal wszystko.<\/p>\n<p>Pierwsza to DHCP. Kamera adresowana wypo\u017cyczonym IP w\u0119druje po restarcie routera, a adres wskazuje na to, co przej\u0119\u0142o numer. Rezerwacja na serwerze DHCP albo sta\u0142y adres w samej kamerze ko\u0144czy to na trwa\u0142e.<\/p>\n<p>Druga to aktualizacja oprogramowania, kt\u00f3ra resetuje prze\u0142\u0105cznik RTSP albo konto podgl\u0105du. Oba warto sprawdzi\u0107 po aktualizacji w pierwszej kolejno\u015bci, bo objaw &#8211; najpierw Connection refused, potem 401 &#8211; wygl\u0105da na usterk\u0119 sieci.<\/p>\n<p>Trzecia to czas. Wiele kamer porzuca sesj\u0119 le\u017c\u0105c\u0105 bez informacji zwrotnej RTCP, a cz\u0119\u015b\u0107 rejestrator\u00f3w nigdy jej nie wysy\u0142a. Wygl\u0105da to tak: strumie\u0144 dzia\u0142a godzinami i znika w nocy, za ka\u017cdym razem o nieco innej porze. Restreamer z ponownym \u0142\u0105czeniem usuwa objaw, a odst\u0119p keepalive poni\u017cej progu czasowego kamery usuwa przyczyn\u0119.<\/p>\n<div class=\"lw-quellen\">\n<h2>\u0179r\u00f3d\u0142a<\/h2>\n<ul>\n<li><a href=\"https:\/\/help.axis.com\/en-us\/axis-site-designer\" target=\"_blank\" rel=\"noopener noreferrer\">Axis Site Designer: pixel density and DORI<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>RTSP jest znormalizowany, \u015bcie\u017cka za nazw\u0105 hosta ju\u017c nie. Adres strumienia sk\u0142ada si\u0119 z sze\u015bciu cz\u0119\u015bci, dwie r\u00f3\u017cni\u0105 si\u0119 zale\u017cnie od producenta &#8211; a jedno wywo\u0142anie ffprobe oddziela z\u0142\u0105 \u015bcie\u017ck\u0119 od z\u0142ego has\u0142a, zanim oba znikn\u0105 w rejestratorze.<\/p>\n","protected":false},"author":1,"featured_media":13212,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[92652],"tags":[92460,92310,92238],"class_list":["post-12951","post","type-post","status-publish","format-standard","hentry","category-tutorials-pl-cctv-pl","tag-monitoring-cctv-pl-pl","tag-networking-pl","tag-tutorial-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP - Lukas Wojcik - Blog<\/title>\n<meta name=\"description\" content=\"Jak powstaje adres RTSP cz\u0119\u015b\u0107 po cz\u0119\u015bci, jakiej \u015bcie\u017cki u\u017cywa ka\u017cdy producent i jak ffprobe odr\u00f3\u017cnia z\u0142\u0105 \u015bcie\u017ck\u0119 od z\u0142ego has\u0142a.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Jak powstaje adres RTSP cz\u0119\u015b\u0107 po cz\u0119\u015bci, jakiej \u015bcie\u017cki u\u017cywa ka\u017cdy producent i jak ffprobe odr\u00f3\u017cnia z\u0142\u0105 \u015bcie\u017ck\u0119 od z\u0142ego has\u0142a.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-09T16:25:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-12951-tutorial-budowanie-i-sprawdzanie-adresow.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP\",\"datePublished\":\"2026-09-09T16:25:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/\"},\"wordCount\":1102,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-12951-tutorial-budowanie-i-sprawdzanie-adresow.png\",\"keywords\":[\"CCTV\",\"Networking\",\"Tutorial\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/\",\"name\":\"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-12951-tutorial-budowanie-i-sprawdzanie-adresow.png\",\"datePublished\":\"2026-09-09T16:25:00+00:00\",\"description\":\"Jak powstaje adres RTSP cz\u0119\u015b\u0107 po cz\u0119\u015bci, jakiej \u015bcie\u017cki u\u017cywa ka\u017cdy producent i jak ffprobe odr\u00f3\u017cnia z\u0142\u0105 \u015bcie\u017ck\u0119 od z\u0142ego has\u0142a.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-12951-tutorial-budowanie-i-sprawdzanie-adresow.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hero-12951-tutorial-budowanie-i-sprawdzanie-adresow.png\",\"width\":1200,\"height\":630,\"caption\":\"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cctv-pl\\\/tutorials-pl-cctv-pl\\\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP - Lukas Wojcik - Blog","description":"Jak powstaje adres RTSP cz\u0119\u015b\u0107 po cz\u0119\u015bci, jakiej \u015bcie\u017cki u\u017cywa ka\u017cdy producent i jak ffprobe odr\u00f3\u017cnia z\u0142\u0105 \u015bcie\u017ck\u0119 od z\u0142ego has\u0142a.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/","og_locale":"en_US","og_type":"article","og_title":"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP - Lukas Wojcik - Blog","og_description":"Jak powstaje adres RTSP cz\u0119\u015b\u0107 po cz\u0119\u015bci, jakiej \u015bcie\u017cki u\u017cywa ka\u017cdy producent i jak ffprobe odr\u00f3\u017cnia z\u0142\u0105 \u015bcie\u017ck\u0119 od z\u0142ego has\u0142a.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-09T16:25:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-12951-tutorial-budowanie-i-sprawdzanie-adresow.png","type":"image\/png"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP","datePublished":"2026-09-09T16:25:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/"},"wordCount":1102,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-12951-tutorial-budowanie-i-sprawdzanie-adresow.png","keywords":["CCTV","Networking","Tutorial"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/","name":"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-12951-tutorial-budowanie-i-sprawdzanie-adresow.png","datePublished":"2026-09-09T16:25:00+00:00","description":"Jak powstaje adres RTSP cz\u0119\u015b\u0107 po cz\u0119\u015bci, jakiej \u015bcie\u017cki u\u017cywa ka\u017cdy producent i jak ffprobe odr\u00f3\u017cnia z\u0142\u0105 \u015bcie\u017ck\u0119 od z\u0142ego has\u0142a.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-12951-tutorial-budowanie-i-sprawdzanie-adresow.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/hero-12951-tutorial-budowanie-i-sprawdzanie-adresow.png","width":1200,"height":630,"caption":"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cctv-pl\/tutorials-pl-cctv-pl\/tutorial-budowanie-i-sprawdzanie-adresow-rtsp-kamer-ip\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tutorial: Budowanie i sprawdzanie adres\u00f3w RTSP kamer IP"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/12951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=12951"}],"version-history":[{"count":1,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/12951\/revisions"}],"predecessor-version":[{"id":17250,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/12951\/revisions\/17250"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/13212"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=12951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=12951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=12951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}