Podgląd kamer Reolink z małym opóźnieniem i zintegrowanym sterowaniem w standardowym interfejsie Home Assistant.
Kamera Reolink <-> Baichuan <-> go2rtc <-> WebRTC <-> Home Assistant
Ten społecznościowy projekt rozszerza standardowe okno kamer Home Assistant o szybki obraz na żywo, wybór jakości, obsługę wielu obiektywów, PTZ, zoom, sterowanie reflektorem oraz dźwięk w obu kierunkach. Korzysta z encji tworzonych przez oficjalną integrację Reolink i nie dodaje osobnego panelu ani karty Lovelace.
Autor i opiekun projektu: Bartosz Supcziński — bartek@env.pl
Home Assistant udostępnia zaawansowane funkcje Reolink jako osobne encje. Standardowe okno kamery nie łączy ich w jeden interfejs, a zwykła ścieżka RTSP/HLS może powodować opóźnienie przy uruchamianiu. Projekt przekazuje natywny strumień Baichuan przez go2rtc i rozszerza istniejące okno bez zastępowania integracji Reolink.
To samo okno kamery dostosowuje się do układu pionowego, poziomego i pełnoekranowego. Grafika przedstawia zwykły widok mobilny oraz widok poziomy na pełnym ekranie.

sub i main.contain, które zachowuje cały kadr.Bieżące wydanie jest przeznaczone dla Home Assistant Core 2026.8.x uruchomionego jako usługa Python. Home Assistant OS, Container i instalacje Supervised nie są obsługiwanymi celami, ponieważ projekt instaluje usługę systemd i własne binarium go2rtc na hoście.
Moduł interfejsu korzysta z wewnętrznych komponentów WWW Home Assistant, a integracja rozszerza wewnętrzną metodę dostawcy go2rtc. Aktualizacja frontendu lub Core może więc wymagać dostosowania projektu, nawet jeśli publiczne encje kamer się nie zmienią.
Oficjalna integracja Reolink musi udostępniać encje main, sub, PTZ,
zoom i światło obsługiwane przez daną kamerę. Funkcje niedostępne w konkretnym
modelu nie są wyświetlane w oknie.
Obsługiwana wersja używa:
fzurita/go2rtc;78de4806a929e2bd77d7acad07e337ef53c09fd2;092ae6e2eca3afb3f439ecbd69a99785c816d953.Skrypt scripts/build-go2rtc.sh odtwarza tę wersję. Rewizja
e8952ef99d91fe10c85836934c5ecd28b37ff7fa nie jest używana, ponieważ może
zatrzymywać niektóre strumienie 4K H.265 po pierwszej klatce.
homeassistant;127.0.0.1:1984.127.0.0.1:8554.go2rtc i
korzysta z ograniczeń systemd.Zdalny dostęp nadal korzysta z uwierzytelnionego połączenia Home Assistant na porcie 8123. Jeżeli potrzebny jest zdalny WebRTC, skieruj TCP i UDP 8555 do hosta Home Assistant bez udostępniania portów 1984 i 8554.
| Ścieżka | Przeznaczenie |
|---|---|
custom_components/reolink_baichuan_stream/ |
Integracja Home Assistant |
frontend/reolink-webrtc-first.js |
Okno kamery i obsługa strumienia |
config/go2rtc.yaml.example |
Prywatne interfejsy API, RTSP i WebRTC |
systemd/go2rtc.service |
Usługa hosta z ograniczeniami bezpieczeństwa |
scripts/build-go2rtc.sh |
Powtarzalne budowanie go2rtc |
scripts/install.sh |
Instalacja plików projektu |
docs/images/ |
Publiczne obrazy README |
Dodaj wszystkie kamery przez oficjalną integrację Reolink i sprawdź działanie standardowych encji kamer przed instalacją tego projektu.
git clone https://github.com/supczinskib/reolink-baichuan-ha.git
cd reolink-baichuan-ha
./scripts/build-go2rtc.sh
sudo install -m 0755 go2rtc /usr/local/bin/go2rtc
Utwórz konto usługi, jeżeli jeszcze nie istnieje:
id go2rtc >/dev/null 2>&1 || sudo useradd --system --home /var/lib/go2rtc --create-home --shell /usr/sbin/nologin go2rtc
Zainstaluj konfigurację:
sudo install -d -o go2rtc -g go2rtc -m 0700 /var/lib/go2rtc
sudo install -o go2rtc -g go2rtc -m 0600 config/go2rtc.yaml.example /var/lib/go2rtc/go2rtc.yaml
W pliku /var/lib/go2rtc/go2rtc.yaml zastąp adres 192.0.2.10 adresem
LAN hosta Home Assistant.
sudo ./scripts/install.sh
Domyślny katalog konfiguracji Home Assistant to
/var/lib/homeassistant. Jeżeli używany jest inny katalog, ustaw
HA_CONFIG:
sudo HA_CONFIG=/ścieżka/do/homeassistant ./scripts/install.sh
Dodaj do configuration.yaml:
frontend:
extra_module_url:
- /local/reolink-webrtc-first.js?v=1.0.0
stream:
ll_hls: true
segment_duration: 2
part_duration: 0.2
go2rtc:
url: http://127.0.0.1:1984
reolink_baichuan_stream:
Jeżeli sekcja frontend już istnieje, dopisz ustawienie do niej zamiast
tworzyć drugi klucz.
sudo systemctl daemon-reload
sudo systemctl enable --now go2rtc.service
sudo systemctl restart home-assistant.service
Sprawdź stan obu usług:
systemctl is-active go2rtc.service home-assistant.service
W Ustawienia → Urządzenia oraz usługi → Encje włącz encje kamer Reolink
main i sub. Kamery sub mogą pozostać ukryte w automatycznie
generowanych widokach obszarów; moduł nadal używa ich do obrazu LO i miniatur.
Otwórz każdą kamerę z widoku obszaru i sprawdź:
LO jest profilem domyślnym i zużywa mniej danych. Przycisk LO/HI przełącza
między encjami sub i main. Podczas zmiany ostatnia klatka pozostaje na
ekranie do chwili pojawienia się obrazu z nowego profilu.
Suwak zoomu reaguje natychmiast, a jedno polecenie jest wysyłane po jego zwolnieniu. W TrackMix zakres do około 2,5× wykorzystuje szeroki kadr, następnie kamera przełącza się na stałoogniskowy teleobiektyw, a dalsze powiększenie do 6× wykonuje cyfrowo. Powrót do punktu kontrolnego zeruje również lokalny zoom cyfrowy szerokiego obiektywu.
Przycisk głośnika włącza dźwięk z kamery. Przycisk mikrofonu prosi przeglądarkę o dostęp do mikrofonu i otwiera kanał rozmowy. Zamknięcie okna kamery kończy sesje multimedialne.
git pull --ff-only
sudo ./scripts/install.sh
sudo systemctl restart home-assistant.service
go2rtc należy przebudować i ponownie zainstalować tylko wtedy, gdy zmienią się
rewizje przypięte w scripts/build-go2rtc.sh.
Po aktualizacji Home Assistant sprawdź uruchamianie obrazu, LO/HI, dźwięk, PTZ, zoom, miniatury, pełny ekran i nawigację wstecz.
go2rtc.service jest aktywna.http://127.0.0.1:1984 z hosta Home Assistant.main i sub są włączone.journalctl -u go2rtc.service oraz dziennik Home Assistant.Moduł automatycznie wybiera HLS w niezgodnej osadzonej przeglądarce. Obraz HLS ma większe opóźnienie, ale powinien nadal działać. Sprawdzenie w Safari lub Chrome pozwala odróżnić ograniczenie klienta od problemu kamery albo go2rtc.
sub jest włączony.Sprawdź, czy oficjalna integracja Reolink udostępnia odpowiednią encję przycisku, liczby, przełącznika lub światła. Encja może być ukryta, ale nie może być wyłączona.
Przeładuj stronę bez pamięci podręcznej. Jeżeli problem pozostaje, porównaj zainstalowaną wersję Home Assistant z obsługiwaną wersją podaną wyżej. Zmiana struktury frontendu lub wewnętrznego dostawcy może wymagać aktualizacji projektu.
reolink_baichuan_stream:, wpis go2rtc: i
/local/reolink-webrtc-first.js z configuration.yaml.go2rtc.service./var/lib/homeassistant/custom_components/reolink_baichuan_stream/;/var/lib/homeassistant/www/reolink-webrtc-first.js;/etc/systemd/system/go2rtc.service;/usr/local/bin/go2rtc;/var/lib/go2rtc/.sudo systemctl disable --now go2rtc.service
sudo systemctl daemon-reload
sudo systemctl restart home-assistant.service
Oficjalna integracja Reolink i jej encje pozostają dostępne.
Copyright (C) 2026 Bartosz Supcziński.
Projekt jest dostępny na licencji MIT. Zobacz LICENSE.
Do zgłoszenia dołącz wersję Home Assistant, wersję przeglądarki lub aplikacji, model kamery, wersję firmware i odpowiednie oczyszczone logi. Usuń hasła, tokeny, adresy kamer i identyfikatory sieciowe.
Jest to niezależny projekt społecznościowy, który nie jest oficjalnym produktem Reolink, go2rtc ani Home Assistant.