Или, более конкретно, есть способ взять stdout из одной команды, запустить другую команду, а затем использовать stdout в качестве stdin для следующей команды? , например. cat file.txt | run_command | grep "foo"Есть ли способ передать stdout/stdin через команду?
Это может показаться пугающим, почему кто-то захочет это сделать. Вот что я пытаюсь сделать:
Я подаю веб-камеру на другом компьютере (удаленном) на свой локальный компьютер через ssh user @ remote ffmpeg -b 100k -an -f video4linux2 -s 320x280 -r 10 - i/dev/video0 -b 100k -f ogg - | vlc -
Я пытаюсь сделать обратный. Итак, отправьте фид с моей веб-камеры (локальной), чтобы отобразить на удаленной машине. Пробовал: ffmpeg -b 100k -an -f video4linux2 -s 320x280 -r 10 -i/dev/video0 -b 100k -f ogg - | ssh user @ remote vlc -
который не работает, потому что перед тем, как я должен «экспортировать DISPLAY =: 0.0» на удаленном компьютере, прежде чем я смогу запустить vlc. Поэтому я пытаюсь получить вывод из ffmpeg в vlc на удаленном компьютере ПОСЛЕ экспорта переменной DISPLAY для этого сеанса ssh. Также, если есть другой способ сделать это (помимо использования 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