Hi All,
für meinen ersten kleine Robbi wollte ich gerne einen Livestream einer Kamera haben, damit ich sehen kann wo der denn so hinfährt.
Motion hat zwar funktioniert, aber viel zu langsam. Habe daraufhin hier mal gepostet, ob es nicht was schnelleres gibt.
Antwort war dann ein FPV (First Person View) Device zu benutzen. Ist für Echtzeit Anwendung bestimmt auch sinnvoll, war mir aber viel zu teuer.
Ich bin dann über ein paar Seiten gestolpert, die versprachen das es mit MJPG_Streamer viel schneller ginge. Unter einer Sekunde Verzögerung.
Dummerweise sind (fast) alle Einträge dazu von 2013 und funktionieren nicht mehr unter dem aktuellen Raspian.
Aber....Niemals aufgeben.....
Hab dann nach ein paar Tagen Suche und endlosen ausprobieren endlich gefunden wie es auch mit einem aktuellen Raspbian (von Sept. 2015) geht.
Die Seite von der ich es habe findet Ihr hier:
http://jacobsalmela.com/raspberry-pi-w…-over-internet/
Nach der Erfolgreichen Installation bekam ich allerdings immer noch seltsame Fehler und zwar:
Inappropriate ioctl for device
Die Suche danach hat wieder einen Haufen Seiten ausgespuckt, aber keine hat geholfen.
Aber nach zwei Tagen dann doch in einem Forum die Lösung. Kein Patch oder so notwendig, sondern meine Webcams unterstützen einfach kein MJPG.
Also mit einem Parameter auf YUV umstellen und nun geht es total Super mit unter einer Sekunde Verzögerung.
Und das, obwohl der Raspi nebenher noch mit der Motorsteuerung und Entfernungsmessung beschäftigt ist.
Hier nun aber die Kurzanleitung wie es geht:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libjpeg8-dev imagemagick libv4l-dev
sudo ln -s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h
sudo apt-get install subversion
cd ~
svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer
cd mjpg-streamer
make mjpg_streamer input_file.so input_uvc.so output_http.so
sudo cp mjpg_streamer /usr/local/bin
sudo cp output_http.so input_file.so input_uvc.so /usr/local/lib/
sudo cp -R www /usr/local/www
sudo nano ~/.bashrc (hier am Ende die folgende Zeile einfügen)
export LD_LIBRARY_PATH=/usr/local/lib/
source ~/.bashrc
Danach rufe ich das Streaming hiermit auf:
mjpg_streamer -i "/usr/local/lib/input_uvc.so -n -y -f 10" -o "/usr/local/lib/output_http.so -w /usr/local/www"
Die Parameter -n und -y scheinen dafür da zu sein, den Stream von MPJG auf YUV umzustellen, was zumindest mit meinen Kameras (Microsoft Livecam, min 4 Jahre alt und eine Logitech C150?) funktioniert.
Hoffe das hilft dem einen oder anderen Anfänger (wie mir) weiter.
Florian