或者更具体地说,是否有办法从一个命令中获取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