Ich habe zwei Computer, einen Desktop in meinem Büro (mit angeschlossener Webcam ) und einen Laptop an einer anderen Stelle im Netzwerk.
Normalerweise schaue ich durch meine Webcam in mein Büro, indem ich laufe
ssh Office -Y "mplayer tv://device=/dev/video0"
von meinem Laptop. Ich mag den Xforwarding-Player nicht. Warum kann ich also nicht /dev/video
auf meinen PC tunneln , indem ich ihn auf meinem Laptop ausführe ?
sudo mkfifo /dev/video1
ssh Office 'dd if=/dev/video' | sudo dd of=/dev/video1'
und dann die webcam gucken (auf meinem laptop )
mplayer tv://device=/dev/video1
ssh
video
ssh-tunneling
Stefan
quelle
quelle
dd if=/dev/video0 | mplayer tv://device=/dev/stdin
, wird mir mitgeteilt, dass die Ressource ausgelastet ist. Ansonsten funktioniert es (ich sehe Video) auch wenn ich laufemplayer tv://device=/dev/null
mplayer
wäremplayer tv:// -tv device=/dev/stdin
oder ähnlich, aber das funktioniert nicht (Zeichengeräte sind spezieller, alsdd
sie richtig handhaben können). Wenn Sie es ausführenmplayer tv://device=/dev/stdin
, wird keine Gerätespezifikation angezeigt und es wird/dev/video0
direkt darauf zurückgegriffen, was die Illusion von "Arbeiten" erzeugt. Es funktioniert jedoch überhaupt nicht, wenn die Webcam und dermplayer
Prozess durch das Netzwerk getrennt sind.ssh localhost dd if=/dev/video0 | mplayer tv://device=/dev/stdin
wenn zwei verschiedene Computer verwendet werden?mplayer tv://device=/dev/stdin
zu OSX?Wenn Sie eine geringe Bandbreite haben, empfehle ich die Komprimierung des Videostreams:
woher
-an
Deaktiviert die Audiokodierung. Wenn Sie Audio wünschen, ersetzen Sie es-an
durch-f alsa -ac 1 -i hw:3
(wobei hw: 3 auch hw: 0 oder hw: 1 sein kann,… siehearecord -l
für Ihr Gerät). Wenn Sie nur Audio (kein Video) möchten, verwenden Sie diese Option.-s 640x480
ist die Größe Ihres Videos in x- und y-Dimension-r 10
ist die Framerate, die Sie erhalten möchten (niedriger macht bessere Bilder bei niedriger Bitrate, sieht aber unruhiger aus)-b:v 500k
ist eine Bitrate von 500 Kilobit / sSie müssen ffmpeg auf dem Remote-Host und mplayer auf dem lokalen Computer installiert haben.
quelle
Das VideoLAN-Projekt existiert zu einem großen Teil, um genau das zu tun, was Sie wollen.
Ich habe seine Streaming-Fähigkeiten nicht genutzt, aber bei der Verwendung auf einem einzelnen Computer hat es sich für mich als absolut zuverlässig erwiesen.
quelle
Die akzeptierte Antwort funktioniert bei mir nicht.
dd
Ich werde es einfach nicht lesen.nc
ist schlecht, wenn man keinen anderen Port verschonen kann (das habe ich auch gar nicht zum Laufen gebracht).cat
hat auch bei mir nicht funktioniert.Was für mich letztendlich funktioniert hat, war das auf der Empfängerseite:
Dies hat den Vorteil, dass es codiert wird, sodass Sie Bandbreite als Bonus sparen. Nichts anderes in irgendeinem Forum / auf keiner Website funktionierte für mich auf einem Debian-Rechner.
Mit Tee kombinieren und gleichzeitig ansehen und aufnehmen:
Dies öffnet mplayer für das Live-Streaming und speichert es gleichzeitig in einer Datei, die die aktuelle Datumszeit enthält (Beispieldateiname:)
2018-11-22_01-22-10_recording.mkv
.quelle
Ich weiß nicht, ob es einen Grund gibt, warum Sie das nicht können, aber ein Problem, das ich bei Ihrer Implementierung sehe, ist, dass das ferne System auf seinem System nach / dev / video1 sucht, es aber nicht finden kann, weil Sie haben es auf Ihrem lokalen System erstellt.
Was ich tun würde, ist Folgendes
und versuchen Sie es dann, indem Sie ihm mitteilen, dass er zum TCP-Port 12345 Ihres lokalen Systems wechseln soll.
quelle