Serwer monitoringu w 1 komendzie Drukuj
Ocena użytkowników: / 0
SłabyŚwietny 
Wpisany przez Teodor Wożniak   
wtorek, 03 sierpnia 2010 13:27

Monitoring mieszkania czy innego obiektu można przeprowadzać z użyciem kamery internetowej. Doskonały do tego jest program VLC, który przechwyci obraz z kamery i udostępni serwer http dzięki któremu będziemy mogli go oglądać w czasie mniej-więcej-rzeczywistym (ok. 10 sekund opóźnienia).

A oto ta komenda:

vlc v4l:///dev/video1 --sout-theora-quality=2 --sout '#transcode{vcodec=theo,vb=220,fps=8,scale=1,acodec=none}: duplicate{dst=http{mux=ogg,dst=0.0.0.0:8080/video},dst=display}'

Najpierw mamy urządzenie webcama, dalej kodowanie do Theory i duplikacja strumienia na wyjście wbudowanego serwera HTTP i na okienko VLC (display).

Dostosowywanie do własnych potrzeb jest nielimitowane (tutaj man), ale podstawowe ustawienia ograniczają się do zmiany:

  • urządzenia wejścia, można zdobyć informacje o nich poleceniem ls /dev/video* (a windowsiarze niech się martwią sami :> ), warto wypróbować protokoły zarówno v4l jak i v4lv2,
  • jakości kodowania, zależenie od mocy obliczeniowej serwera ("--sout-theora-quality")
  • bitrate'u obrazu (parametr "vb" komendy "transcode") podawanego w kilobitach na sekundę, tutaj ograniczeniem będzie przepustowość łącza wychodzącego,
  • liczby klatek na sekundę ("fps"),
  • portu i nazwy pliku (parametr "dst" komendy "http"), np. na "0.0.0.0:80/monitoring" - wtedy będzie używany domyślny port.

Możemy też do parametry "--sout" dodać zapisywanie do pliku, np. dodatkowo zmniejszając mu uprzednio fps - zapraszam do lektury manuala. Ostrzegam, że wyjście na Icecasta jest niestabilne w "VLC media player 1.1.0 The Luggage" i dlatego go nie używaliśmy. Wbudowany serwer HTTP działa dobrze. Zapowiadam, że napiszę artykuł na temat streamingu w VLC.

Jak to odtworzyć?

vlc http://1.2.3.4:8080/video

Oczywiście 1.2.3.4 to adres serwera.