Alternative zu Motion zum Streamen von Videos unter Linux

Ich suche ein einfaches Video-Streaming-Programm für Linux (Raspberry Pi). Es muss nur ein Video von einer Webcam aufnehmen und in einem Format streamen, das in eine Webseite eingebettet werden kann (bereitgestellt mit NodeJS auf demselben RPi).

Der einzige Grund, warum ich Motion nicht verwende, ist, dass ich Schwierigkeiten habe, es einzurichten , und ich möchte sehen, ob etwas anderes einfacher ist.

Unzählige Anleitungen inkl. Software-Empfehlungen zur schnellen Suche nach „Raspi-Webcam“ – von einfachen Webcams bis hin zu Heimwerker-Alarmanlagen. Versucht einer von denen? Einer von ihnen enthält übrigens ein Tutorial zum Einrichten von Motion, das ziemlich einfach und unkompliziert klingt.
Izzy - danke. Ja, ich habe Tonnen davon ausprobiert. Aber ich habe es gerade geschafft, mjpg-streamer zum Laufen zu bringen. Es war schmerzhaft, aber am Ende kam es mit Hilfe von: raspberrypi.org/forums/viewtopic.php?p=164539#p164539
Würden Sie dies (mit ein paar weiteren Details) als Antwort auf Ihre Frage betrachten? Wenn ja, zögern Sie nicht, es vollständig zu präsentieren :)

Antworten (2)

Führen Sie also gemäß diesem Link, aber mit einigen Verdichtungen und Anpassungen, zuerst diese Befehle aus:

apt-get update
apt-get install git libv4l-dev libjpeg8-dev imagemagick cmake -y
git clone git@github.com:jacksonliam/mjpg-streamer.git ~/mjpg-streamer
cd ~/mjpg-streamer/mjpg-streamer-experimental
make USE_LIBV4L2=true clean all
make DESTDIR=/usr install

Obwohl ich nicht sicher bin, ob die letzte Zeile bei mir funktioniert hat, gehe ich davon aus, dass alles ohne sie funktioniert hat. Ich denke, es hätte Dateien an den richtigen Stellen ablegen sollen (z. B. müssen für ausführbare Dateien keine vollständigen Pfade angegeben werden - stattdessen habe ich im folgenden Befehl die vollständigen Pfade für alle Dateien angegeben).

Starten Sie den Server:

~/mjpg-streamer/mjpg-streamer-experimental/mjpg_streamer -i "~/mjpg-streamer/mjpg-streamer-experimental/input_uvc.so -f 15 -r 320x240" -o "~/mjpg-streamer/mjpg-streamer-experimental/output_http.so -p 8090 -w ./www"

Und wenn Sie Probleme mit etwas haben, das die Webcam bereits verwendet (z. B. wenn es motionnicht sauber beendet wurde), gehen Sie wie folgt vor und wiederholen Sie den obigen Befehl:

fuser /dev/video0

was eine Ausgabe wie diese ergibt:

/dev/video0: 12324m

Führen Sie dann Folgendes aus, um alles zu töten, was die Webcam verwendet:

kill -9 12324

Um das Video schließlich anzusehen, navigieren Sie zu dieser Adresse und ersetzen Sie die IP-Adresse oder URL Ihres Servers:

http://192.168.0.12:8090/?action=stream

Und um das Video in eine Webseite einzubetten, fügen Sie einfach Folgendes zum HTML hinzu:

<img src="http://192.168.0.12:8090/?action=stream"/>

Als Nebenbemerkung möchten Sie beim Ausführen des Video-Streaming-Servers möglicherweise die Frames pro Sekunde ändern, indem Sie das Argument nach ändern -f. Es scheint eine Figur zu sein, die von der Webcam unterstützt wird; Eine nicht unterstützte Figur wird theoretisch von mjpeg-streamerzu einer unterstützten Figur gezwungen, aber sie konnte nicht gestreamt werden, wenn ich sie 10zum Beispiel auf eingestellt habe. Dasselbe gilt für die Auflösung; nur 320x240und 640x480funktionierte für mich.

Sehr klare und prägnante Antwort - sehr schön!

Ich benutze VLC zum Streamen.

Das funktioniert mit der Raspicam :

raspivid -o - -t 0 -n | cvlc -vvv stream:///dev/stdin --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264

Aber ich bevorzuge Streaming über rtsp (Sie können dann wieder VLC zum Ansehen verwenden)

raspivid -o - -t 0 -n | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264

Ein gutes Tutorial für Raspberry PI finden Sie hier .

Wenn Sie anstelle der Raspicam eine andere Webcam verwenden, müssen Sie den Befehl auf diesen ändern (vorausgesetzt, die Kamera wird von v4l2 erkannt):

cvlc -vvv v4l2:///dev/video0 --sout '#standard{access=http,mux=ts,dst=:8090}' :demux=h264

Andere nützliche Links, die Sie vielleicht lesen möchten:

Ich habe Ihre Antwort bearbeitet und nur einige Formatierungen hinzugefügt.
Ich hatte keine Ahnung, dass VLC dafür verwendet werden könnte! +1