Strumieniowanie wideo z Raspberry Pi przy pomocy MJPG-streamera

Najnowsza wersja MJPG-streamera najwyraźniej nie działa z najnowszą wersją Raspbiana (wersja jądra 3.18.7+).

Kompilacja przebiega poprawnie, serwer HTTP również uruchamia się poprawnie, ale żadne dane wideo nie są przesyłane. Poniżej rozwiązanie tego problemu

Najpierw instalujemy potrzebne paczki.

sudo apt-get install libjpeg8-dev imagemagick libv4l-dev

Oraz tworzymy dowiązanie symboliczne. Bez niego MJPG-streamer nie skompiluje się.

sudo ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h

Wcześniejsze wersje MJPG-streamera posiadały wtyczkę input_file.so, która pozwalała na monitorowanie katalogu i przesyłanie pliku graficznego, który się w nim pojawiał.

Obecna wersja posiada wtyczkę input_uvc.so, która wymaga, aby kamera była dostępna w katalogu /dev. Kamera dedykowana dla Raspberry Pi nie jest domyślnie dostępna w tym katalogu, więc musimy załadować moduł bcm2835-v4l2. Poniższe polecenie najlepiej dodać do /etc/rc.local, aby moduł ładował się przy każdym starcie Pi.

sudo modprobe bcm2835-v4l2

MJPG-streamera nie instalujemy z oficjalnego repozytorium, ponieważ ta wersja nie działa z kamerą Pi, ale korzystamy z tego.

git clone https://github.com/SaintGimp/mjpg-streamer
cd mjpg-streamer/mjpg-streamer
make

Po kompilacji, pozostajemy w katalogu ze źródłami i wydajemy poniższe polecenie:

./mjpg_streamer -i "input_uvc.so -f 30 -r 1280x720" -o "output_http.so -p 8080 -w www"

Uruchomi się strumień wideo o rozdzielczości 1280×720 i szybkości 30 klatek na sekundę.

Podgląd jest dostępny pod adresem:

http://127.0.0.1:8080/stream.html

Linki

https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=100818

Ten wpis został opublikowany w kategorii Raspbian. Dodaj zakładkę do bezpośredniego odnośnika.