或者更具體地說,是否有辦法從一個命令中獲取stdout,運行另一個命令,然後使用stdout作爲下一個命令的stdin? 例如 cat file.txt | run_command | grep「foo」有沒有辦法通過命令管理標準輸出/標準輸入?
這似乎令人困惑,爲什麼有人會想這樣做。以下是我正在嘗試執行的操作:
我通過 將我的其他計算機(遠程)上的攝像頭傳送到本地計算機ssh user @ remote ffmpeg -b 100k -an -f video4linux2 -s 320x280 -r 10 - 我/ dev/video0 -b 100k -f ogg - | vlc -
我試圖做相反的事情。所以,從我的網絡攝像頭(本地)發送一個飼料以顯示在遠程機器上。 It tryed: ffmpeg -b 100k -an -f video4linux2 -s 320x280 -r 10 -i/dev/video0 -b 100k -f ogg - | ssh user @ remote vlc -
這不起作用,因爲在啓動vlc之前,我必須在遠程計算機上「導出DISPLAY =:0.0」。所以我試圖從遠程計算機上獲取ffmpeg的輸出到vlc,然後導出該ssh會話的DISPLAY變量。 另外,如果還有其他的方法可以做到這一點(除了在遠程機器上使用ssh來使用第一個命令),我很樂意嘗試它(同樣如果有辦法做同樣的事情,我會很感激的信息,雖然這不是真正相關的問題)預先感謝。 :)
你可以嘗試包裝調用'vlc'的腳本設置'$ DISPLAY',儘管這些天你可能需要設置超過'$ DISPLAY'才能連接到X服務器。 –
你可以試試'ffmpeg -b 100k -an -f video4linux2 -s 320x280 -r 10 -i/dev/video0 -b 100k -f ogg - | ssh user @ remote「DISPLAY =:0.0 vlc - 」'看看它是否有效?在我們得到明確的答案之前,可能需要使用xauth或其他東西,但首先嚐試一下。 –
工作!真棒!非常感謝。 – linuxfreak003