我正在使用樹莓派,我需要 2 個本地流。這是我嘗試過的:
試圖
raspivid <some options> -o - | tee nc localhost 5100 | nc localhost 5000
問題
我可以在 上收到輸出5000
,但在 上卻收不到輸出5100
,我錯過了什麼?
raspivid -o -
將流吐到標準輸出。
答案1
好吧,“tee”不採用命令名稱 - 它採用文件名稱。您正在將輸出的副本寫入目前目錄中名為nc
、localhost
、 和 的檔案。5100
如果您想執行兩個命令,請檢查您的 shell 是否允許使用「進程替換」>( ... )
,自動傳遞管道作為檔案名稱:
raspivid <etc> | tee >(nc localhost 5100) | nc localhost 5000
或者,pee
從安裝更多實用程式:
raspivid <etc> | pee "nc localhost 5100" | nc localhost 5000
如果這些選項都不可用,請使用mkfifo
建立命名的'nc' 實例之一的管道,然後分別運行輸出和輸入:
mkfifo /tmp/ncpipe
nc localhost 5100 < /tmp/ncpipe &
raspivid <etc> | tee /tmp/ncpipe | nc localhost 5000