La tee
commande lit à partir de l'entrée standard et copie dans n'importe quel nombre de fichiers plus la sortie standard par défaut, voir man tee
pour plus de détails. Cela signifie que vous pouvez demander à tee de créer un fichier à partir de l'entrée, puis de diriger la sortie vers autre chose.
L'ajout d'un tuyau supplémentaire ajoute en théorie un peu d'inefficacité. Quant à savoir si cela est important ou non, vous devrez juger par vous-même en utilisant votre propre méthode de streaming. Ma méthode actuelle n'est pas satisfaisante en pleine résolution. Ce n'est pas un énorme intérêt pour le moment mais quand il le sera, j'essaierai de trouver quelque chose de mieux (par exemple, soi-disant gstreamer fonctionne mieux que clvc).
Cependant, il convient de noter que le fichier enregistré localement sur le pi en même temps est de qualité parfaite, de sorte que l'activité n'interfère pas avec raspivid. Voici un exemple:
raspivid -o - -t 0 | tee test_video.h264 |
cvlc -v stream:///dev/stdin --sout '#standard{access=http,mux=ts,dest=:8080' :demux=h264
J'ai divisé cela en deux lignes pour plus de lisibilité; vous pouvez appuyer sur retour après |
(pipe) et terminer la commande comme vous pouvez rompre une ligne avec \
. Vous pouvez remplacer le cvlc
par ce que vous voulez. Encore une fois, bien que le flux soit de mauvaise qualité, il test_video.h264
est sorti parfait.
Si je baisse la résolution à 640x360, cet arrangement est très bien, avec une seconde ou deux de latence, ce que j'obtiens normalement. Je ne pense pas que le tee
ou le deuxième tuyau fasse une différence dans la qualité du flux; ceux-ci sont capables d'un débit beaucoup plus élevé que nécessaire ici et ne nécessitent pas beaucoup de ressources système.
Le CPU a fonctionné à 35-45%, ce qui est le même que lors du streaming vidéo sans tee
.
raspivid
vous pouveztee
la sortie vers un fichier et gstreamer ou quoi que ce soit d'autre (voirman tee
). Tant qu'un flux est directement sur le disque, cela n'ajoutera pas beaucoup de surcharge, mais si vous souhaitez traiter l'entrée dans deux formats différents simultanément, je pense que ce sera trop de travail pour le pi à gérer.