Der tee
Befehl liest von der Standardeingabe und kopiert standardmäßig in eine beliebige Anzahl von Dateien plus Standardausgabe. man tee
Weitere Informationen finden Sie unter. Dies bedeutet, dass Sie tee bitten können, eine Datei aus der Eingabe zu erstellen und die Ausgabe dann an etwas anderes weiterzuleiten.
Das Hinzufügen eines zusätzlichen Rohrs führt theoretisch zu einer gewissen Ineffizienz. Ob dies von Bedeutung ist oder nicht, müssen Sie anhand Ihrer eigenen Streaming-Methode selbst beurteilen. Meine derzeitige Methode ist bei voller Auflösung nicht zufriedenstellend. Es ist momentan kein großes Interesse, aber wenn es so ist, werde ich versuchen, etwas Besseres zu finden (zB angeblich funktioniert gstreamer besser als clvc).
Es ist jedoch erwähnenswert, dass die gleichzeitig lokal auf dem Pi gespeicherte Datei von perfekter Qualität ist, sodass die Aktivität die Raspivid nicht beeinträchtigt. Hier ist ein Beispiel:
raspivid -o - -t 0 | tee test_video.h264 |
cvlc -v stream:///dev/stdin --sout '#standard{access=http,mux=ts,dest=:8080' :demux=h264
Ich habe dies zur besseren Lesbarkeit in zwei Zeilen unterteilt. Sie können die Eingabetaste nach |
(Pipe) drücken und den Befehl beenden, genauso wie Sie eine Zeile mit brechen können \
. Sie können das cvlc
durch alles ersetzen, was Sie wollen. Obwohl der Stream von schlechter Qualität war, test_video.h264
kam er wieder perfekt heraus.
Wenn ich die Auflösung auf 640x360 reduziere, ist diese Anordnung in Ordnung, mit ein oder zwei Sekunden Latenz, die ich normalerweise bekomme. Ich glaube nicht, dass die tee
oder die zweite Pipe einen Unterschied für die Qualität des Streams macht. Diese können einen viel höheren Durchsatz erzielen als hier erforderlich und erfordern nicht viel Systemressourcen.
Die CPU lief mit 35-45%, was dem Streaming von Videos ohne Video entspricht tee
.
raspivid
Sietee
die Ausgabe in eine Datei und einen Gstreamer oder was auch immer (sieheman tee
). Solange ein Stream direkt auf die Festplatte übertragen wird, entsteht kein großer Overhead. Wenn Sie jedoch die Eingabe gleichzeitig in zwei verschiedene Formate verarbeiten möchten, ist dies meiner Meinung nach zu viel Arbeit für den Pi.