Wie kann ich ein mit gstreamer aufgenommenes Bild auf eine andere Maschine übertragen, ohne eine Datei zu schreiben?

1407
Chas. Owens

Ich mache ein Bild mit gstreamer:

gst-launch-0.10 v4l2src ! ffmpegcolorspace ! pngenc ! filesink location=$date.png 

Ich scpfüge die Datei dann auf einem Remote-Server ein:

scp $date.png remote:pics 

Ich möchte die Datei auf dem lokalen Dateisystemschritt überspringen. Kann ich sowas machen?

gst-launch-0.10 v4l2src ! ffmpegcolorspace ! pngenc | ssh remote "cat > pics/$date.png" 
0

1 Antwort auf die Frage

1
Unreason

Ich lese das

cat file | ssh uid@remotehost 'cat > /full/path/file' 

sollte tun, was Sie brauchen (ersetzen Sie es cat filedurch Ihre Klempnerarbeiten), aber ich bin mir nicht sicher, wie viel von einem Hack es ist (wie wird es bei recht großen Streams funktionieren).

Alternativ können Sie den entfernten Punkt irgendwie einhängen - sshfs, cifs, nfs. Dann ist keine Magie erforderlich.

Der Trick besteht darin, den Inhalt der Datei auf "stdout" zu bringen (das ist, was ich nicht weiß, das ist eher eine Frage des Gstreamer als eine Frage, wie "ssh" funktioniert). Die Idee von `sshfs` hat jedoch Vorzüge, die einfach einzurichten sind Chas. Owens vor 13 Jahren 0