Ich bin neu in der Himbeer-Pi und sogar neu in der Himbeer-Pi-Kamera. Ich habe viele Online-Tutorials für die Raspberry Pi-Kamera gesehen, habe aber noch keine gefunden, mit denen ich direkt von der Raspberry Pi-Kamera streamen kann, wie Sie es mit einer Webcam können (mit SimpleCV oder OpenCV). Ich hatte gehofft, jemand könnte mich in die richtige Richtung lenken.
93
ssh raspberrypi raspivid -o - -t 0 -fps 25 -w 640 -h 360 | mpv - --speed 2 --fps 25
(das "--speed 2" verhindert, dass es zu sehr nacheilt).Antworten:
Die von Diego vorgeschlagene Lösung ist gut, mit der Ausnahme, dass sie ziemlich langsam ist und eine enorme Videoverzögerung aufweist, da der VLC dort einen Stream des Raspvid erneut streamt. Seit 12/2013 ist ein offizieller v4l2-Treiber verfügbar: http://www.ics.com/blog/raspberry-pi-camera-module#.VJFhbyvF-b8 Dies macht das erwähnte Re-Streaming überflüssig. Laden Sie einfach das Modul und benutzen Sie es:
Dadurch wird ein http-Stream an Port 12345 erstellt. Sie können auch andere Formate verwenden, z. B. das rtcp-Format aus der Antwort von Diego. Lesen Sie hier mehr darüber: https://web.archive.org/web/20151012014829/http://www.videolan.org:80/doc/streaming-howto/en/ch03.html
quelle
:demux=264
zu CVLC weil der Strom RAW h264 ist , und Sie müssen die Demuxer festlegen:cvlc v4l2:///dev/video0 --v4l2-width 1920 --v4l2-height 1080 --v4l2-chroma h264 --sout '#standard{access=http,mux=ts,dst=0.0.0.0:12345}' :demux=264
. So können Sie beispielsweise den Stream in VLC für Android ansehen.autoreconf -vfi
solltest du jetzt./bootstrap.sh
Sie können zwischen mehreren Optionen wählen. Bei meiner Arbeit verwenden wir VLC, um mit Raspberry Pi Camera aufgenommene Videos von unseren Serverräumen ins Büro zu streamen . Ein Nachteil davon ist, dass es ungefähr 5 Sekunden Verzögerung gibt und ich keine Lösung dafür gefunden habe. Folgendes ist unser Setup:
Haben Sie raspbian installiert und aktualisiert und stellen Sie sicher, dass Ihre Kamera aktiviert ist (Sie aktivieren dies, indem Sie sudo raspi-config ausführen und Kamera aktivieren wählen)
Installieren Sie vlc
Erstellen Sie ein Skript, um den Stream mit dem folgenden Inhalt zu starten, oder führen Sie den Befehl aus (Sie können nichts anderes tun, wenn Sie nur den Befehl ausführen).
Machen Sie das Skript ausführbar
Wenn Sie den Stream automatisch starten möchten, müssen Sie das Skript zu crontab hinzufügen. Damit dies funktioniert, musste ich ein weiteres von cron ausgeführtes Skript erstellen (OBS! VLC kann nicht als sudo ausgeführt werden, stellen Sie also sicher, dass Sie sich im richtigen cron befinden).
sudo nano myscript2.sh
:Dann:
Um den Videostream anzusehen, öffnen Sie VLC auf einem Computer im selben Netzwerk wie das Himbeer-Pi, das Sie für das Streaming verwenden. Drücken Sie Medien -> Öffnen Sie Networkstream und fügen Sie Folgendes in das Feld ein:
Wenn Sie sich nicht für FPS (Bilder pro Sekunde) interessieren und keine Verzögerung wünschen, können Sie MJPEG verwenden. Mehr dazu können Sie HIER lesen
Sehen Sie sich DIESES Wiki über das Raspberry Pi Camera Module an. Hoffe du findest was du suchst.
quelle
Ich habe einige Optionen ausprobiert. Mit diesem Projekt habe ich jedoch das beste Ergebnis erzielt : RPi-Cam-Web-Interface von der eLinux-Community
Der Stream hat fast keine Verzögerung.
Viel Glück :)
quelle
Der einfachste Weg, den ich gefunden habe, ist es, ein Live-Video von einem Himbeer-Pi ohne Kopf mit einer Himbeer-Pi-Kamera zu bekommen.
Diese Lösung ist sofort einsatzbereit, ohne dass zusätzliche Software auf dem PI installiert werden muss.
Auf dem PI:
Auf dem Computer kann man mit VLC streamen:
(unter der Annahme, dass 192.168.66.154 die IP-Adresse des PI ist)
quelle
Ich stellte eine mögliche Lösung in Himbeer - Forum unter Verwendung eines leichten RTSP - Server auf Basis LIVE555 , die mit einem V4L2 Treiber unterstützt H264 Erfassung zugeführt wird:
Als nächstes sollten Sie in der Lage sein, auf den RTSP-Stream zuzugreifen, indem Sie:
quelle
--network-caching 300
UV4L unterstützt (auch) Standard-HTML5-Video- und -Audio- Streaming, ohne dass eine Konfiguration erforderlich ist. Andere Optionen sind ebenfalls möglich, wie MJPEG über http.
Aktualisieren:
UV4L unterstützt jetzt auch die Live- Übertragung von Audio und Video an Jitsi Meet Rooms über das Web. Es ist keine spezielle Konfiguration erforderlich. Es ist so einfach, wie Sie Ihren Namen, Ihr Zimmer und klicken Sie auf Start .
2. Update:
UV4L unterstützt jetzt auch H264-Hardware-codierte Videos mit Full-fps, HD und möglicherweise in Zukunft auch Full-HD.
quelle
Beide
mjpeg_streamer
undmotion
scheinen eine bessere Latenz zu haben als cvlc.Verwenden
mjpg_streamer
mjpeg_streamer
Kompilierung erforderlich, aber die Anweisungen auf dem Github sind unkompliziert.Nach dem Kompilieren kann es durch Starten
start.sh
aus dem Projektverzeichnis oder durch direktes Ausführen (im Projektverzeichnis) ausgeführt werden:Wo
8090
ist der TCP-Port? Wenn nicht angegeben,8080
wird standardmäßig der Port verwendet. Dasstart.sh
Skript enthält einige Verwendungsbeispiele mit zusätzlichen Optionen.Verwenden
motion
Motion enthält einen systemd-Dienst, der den automatischen Start beim Booten, Stoppen oder Neustarten erleichtert.
Um es im IP-Webcam-Modus zu verwenden, sollten folgende Einstellungen vorgenommen werden
/etc/motion/motion.conf
:Als nächstes im
/etc/default/motion
Set:So starten Sie den Dienst automatisch beim Booten:
Verwenden Sie
systemctl start/stop/restart motion
für die entsprechende Aktion.Der Standard-Streaming-Port ist
8081
. Der Port ist unterstream_port
in eingestellt/etc/motion/motion.conf
.quelle
Ich weiß nicht, ob Sie nach einer Überwachungssoftware suchen, aber es ist mir gelungen
motion
, einen Software-Bewegungsmelder zu installieren und auszuführen. Sie sollten einen Blick in die offizielle Anleitung werfen .quelle
Ich konnte Videos mit uv4l WebRTC auf Raspberry Pi 2 streamen . Es ist super einfach. Folgen Sie einfach diesem Tutorial. Ich hoffe diese Hilfe.
quelle
Ich hatte Probleme, den Videostream unter Windows 7 abzurufen. Es gab viele Linux-Lösungen, aber ich konnte sie bis jetzt nicht unter Windows replizieren. Ich habe irgendwann eine ziemlich schnelle Lösung:
Auf Himbeer-Pi:
Auf Windows-Maschine:
Ich denke also, nichts wird neu gepackt oder gestreamt, remuxt oder was auch immer. Binärer Stream von Raspvid wird in MPC eingespeist und angezeigt. Meine Himbeere funktioniert über WLAN, also bekomme ich zuerst eine angemessene Verzögerung, die sich in einer halben Minute auf diese 0,2-0,3 Sekunden Verzögerung reduziert.
Leider konnte ich vlc nicht auf die gleiche Weise verwenden, da
nc -l -p 5001 | vlc -
nur das vlc-Fenster ohne Video geöffnet wird.quelle
Ich habe Nginx mit RTMP-Unterstützung für das Streamen in die Welt und avconv für die Verarbeitung von Kameraeingaben verwendet. Code ist auf Github verfügbar .
quelle
Während der Code von Peter Hansen möglicherweise in einem LAN einwandfrei funktioniert, geht es der Vollständigkeit halber bei TCP um Datenintegrität im Gegensatz zu Echtzeit. In einem Echtzeitstrom kann ein gewisser Datenverlust zum Zwecke der rechtzeitigen Anzeige akzeptabel sein. In diesem Fall ist UDP möglicherweise besser. Ich habe diesen Code nicht getestet.
Wenn es sich um eine Überwachungskamera handelt, kann Multicasting in Betracht gezogen werden. Moderne Router können es sogar mit den 100-Dollar-Modellen.
quelle
Ich habe eine ONVIF- Lösung von https://github.com/BreeeZe/rpos auf meinem Pi installiert. Befolgen Sie dazu die Anweisungen auf README.md .
Der einzige Unterschied ist, dass ich installiert habe
node v8.4.0
. Auf diese Weise kann ich die Ausgabe meiner Kamera in einem NVR sehen, der mit demselben Netzwerk verbunden ist. Die Kamera kann auch direkt über den Netzwerk-Stream des VLC-Players unter Verwendung der Adresse wiedergegeben werdenrtsp://192.168.1.3:8554/h264
quelle
Eine Weile später gab es ein ähnliches Problem:
https://www.npmjs.com/package/ws-avc-player
Es ist mehr Barebone als andere vorgeschlagene Lösungen, aber ich denke, es funktioniert gut, wenn eine geringe Latenz gegenüber dem Web die Priorität hat.
Funktioniert auf den meisten Browsern (sogar mobil mit 480p), ohne dass Plugins für den Browser benötigt werden.
quelle
raspivid
Kamera-Feed zum Laufen zu bringen . Mitffmpeg
auf der anderen Seite bin immer ich gerade Zehntel Frames pro Sekunde. Ich habe einen sauberen Raspbian und einen Pi Zero verwendet. Hast du ein paar Tipps für mich?node example/index.js raspivid
Es sollte sofort funktionieren, wenn Sie Probleme haben, versuchen Sie es einfachnode example/index.js
und separat/opt/vc/bin/raspivid -pf baseline -ih -t 0 -w 640 -h 480 -hf -fps 15 -g 30 -o - | nc localhost 5000
und prüfen Sie, ob Sie irgendwelche Fehler von raspivid bekommen