私はラズベリーを使っていて、2 つのローカル ストリームが必要です。試したことは次のとおりです。
試み
raspivid <some options> -o - | tee nc localhost 5100 | nc localhost 5000
質問
出力は で受信できるのです5000
が、 では受信できません5100
。何が足りないのでしょうか?
raspivid -o -
ストリームを標準出力に出力します。
答え1
まあ、「tee」はコマンド名を受け付けません。ファイル名前。出力のコピーを現在のディレクトリのnc
、localhost
、という名前のファイルに書き込みます。5100
2 つのコマンドを実行する場合は、 を使用し、>( ... )
パイプをファイル名として自動的に渡すことで、シェルが「プロセス置換」を許可しているかどうかを確認します。
raspivid <etc> | tee >(nc localhost 5100) | nc localhost 5000
または、pee
以下からインストールしてくださいもっと見る:
raspivid <etc> | pee "nc localhost 5100" | nc localhost 5000
どちらのオプションも利用できない場合はmkfifo
、名前'nc' インスタンスの 1 つにパイプし、出力と入力を別々に実行します。
mkfifo /tmp/ncpipe
nc localhost 5100 < /tmp/ncpipe &
raspivid <etc> | tee /tmp/ncpipe | nc localhost 5000