Nowa funkcja w HS2 – kamery. W skrócie pozwala na podgląd z kamer. W chwili obecnej zoptymalizowane pod kątem MJPEG.
Kamery w HomeServer 2
Po uruchomieniu modułu mamy do wyboru listę kamer. Gdy już wybierzemy kamerę, uruchamiany jest jej strumień oraz ładowana najnowsza klatka obrazu – gdy strumień nie jest dostępny, podgląd wyświetlany jest w postaci klatek co dwie sekundy, przesyłanych przez proxy – umożliwiając tym samym ułomny, ale działający podgląd nawet, gdy nie mamy bezpośredniego dostępu do strumienia.
Dodatkowo kawałek kodu JS automatycznie próbuje nawiązać ponownie połączenie ze strumieniem w przypadku jego utraty – np. z powodu błędu sieci. Gdy już uda się nawiązać połączenie, klatkowany obraz jest automatycznie zastępowany przez strumień.
Jak nadawany jest stream?
Sam podgląd z kamer realizowany jest poprzez aplikację motion. Odpowiednia konfiguracja umożliwia nadawanie strumienia jak i zapis pojedynczych klatek obrazu. W mojej stream nadawany jest na bieżąco – z minimalnie 2 FPS. Dodatkowo co 2 sekundy następuje zapis klatki obrazu do wyświetlania poklatkowego. Następnie CRON usuwa klatki starsze, niż minuta, aby nie zajmować bezsensownie miejsca na dysku malinki.

Co dalej?
Zastanawiam się nad dodaniem większej ilości kamer w przyszłości. Dodatkowo motion może wykrywać ruch – można by więc dodać coś w rodzaju trybu chronionego, który w momencie wykrycia ruchu przesyłał by zdjęcie wraz z informacją na telefon lub e-mail. Włączenie trybu chronionego można by dodatkowo zautomatyzować – przykładowo, kiedy telefony wszystkich domowników zostały odłączone od sieci 🙂