Ich habe ein paar Tage an diesem Thema gearbeitet. Ich muss einen Stream einrichten, der Audio und Video (egal ob ich separate Verbindungen dafür öffnen muss, solange es funktioniert) von der Webcam, die mit dem Raspberry Pi verbunden ist, überträgt. Jetzt war das Video mit Motion leicht lösbar, aber ich würde dafür lieber VLC verwenden. Jetzt habe ich mich intensiv damit beschäftigt, aber das gibt mir nur Fehler, wenn ich bestimmte Ordner nicht erstellen kann und nichts zu spielen ist.
Eine andere Sache, die ich versuchte, war die Verwendung von FFmpeg. So etwas ausführen:
ffmpeg -f alsa -ac 1 -i hw:1 -ar 44100 -f flv rtmp://10.255.11.53/
sagt mir nur, dass die Version veraltet ist und dass 'alsa' eine unbekannte Eingabe ist.
Weiß jemand, wie man diese Probleme löst oder wie man mein Ziel auf eine andere / bessere Weise erreicht? Wie gesagt, es macht mir nichts aus, zwei VLCs mit einem für Audio und einem für Video zu öffnen, solange es funktioniert, geht es mir gut.
BEARBEITEN: Ich habe den Befehl ffmpeg in einen Befehl avconv geändert. Er macht jetzt etwas, gibt aber den Fehler Connection Refused 111 zurück. Ich habe noch keinen Weg gefunden, dies zu lösen
Antworten:
Verwenden Sie das Paket nicht
ffmpeg
aus dem Raspbian-Repositoryapt-get
- es ist, wie es heißt, veraltet. Wer weiß, warum es noch da ist.Die einzige Lösung, um zu einem anderen VLC zu streamen, besteht darin, ffmpeg selbst zu kompilieren, aber auf einem Pi dauert es ungefähr 2 Stunden!
Auf einem Raspberry Pi 2 führen Sie dies aus, um es etwas zu beschleunigen. (ungefähr 50%)
Bei jedem anderen Himbeerlauf
Es ist besser, mit UDP zu streamen, da es weniger Bandbreite verbraucht und die Latenz nicht kennt (möglicherweise erhalten Sie jedoch einige Artefakte). Konfigurieren Sie VLC auf dem Abhörgerät als
udp://@:1234
Für Audio-Vorschläge schauen Sie hier
Wenn Sie alternativ auf einen anderen Linux-Computer streamen,
gstreamer
können Sieapt-get
die Pipelines verwenden, die von einem installiert werden können , aber seien Sie gewarnt. Die Pipelines sind ziemlich komplex.Raspivid wird nur für die CSI-Kamera von Raspberry Pi verwendet.
quelle
Ich hatte das gleiche Problem und verbrachte einige Zeit damit, nach möglichen Lösungen zu suchen.
Sie können GStreamer für einen Stream mit sehr geringer Latenz verwenden, wenn Sie ihn auch auf der Empfangsseite verwenden können. Wenn Sie GStreamer nicht möchten, können Sie entweder FFmpeg (wie oben beschrieben, ermöglicht das Kombinieren von Audio und Video, muss jedoch zuerst kompiliert werden) oder VLC (zwei separate Streams öffnen) verwenden. Die einfachste Lösung scheint jedoch die Software Picam zu sein , die das HTTP-Streaming oder die Weiterleitung an einen RTPS-Server unterstützt (einfachste Option: Verwenden Sie den Node-RTSP-RTMP-Server desselben Autors).
Ich habe alle Ressourcen, die ich gefunden habe, in einem separaten Blog-Beitrag mit detaillierten Anweisungen zum Einstellen von Audio- und Videostreams und zum Aufnehmen auf einem Himbeer-Pi zusammengefasst. Hoffentlich spart dies anderen mit denselben Fragen Zeit.
quelle