Я использую Raspberry и мне нужно 2 локальных потока. Вот что я пробовал:
Пытаться
raspivid <some options> -o - | tee nc localhost 5100 | nc localhost 5000
Вопрос
Я могу получить вывод на , 5000
но не на 5100
, что я упускаю?
raspivid -o -
выводит поток на стандартный вывод.
решение1
Ну, «ти» не принимает командные имена – он принимаетфайлимена. Вы записываете копии вывода в файлы с именами nc
, localhost
и 5100
в текущем каталоге.
Если вы хотите запустить две команды, проверьте, позволяет ли ваша оболочка «подстановку процессов» с помощью >( ... )
, автоматически передавая канал в качестве имени файла:
raspivid <etc> | tee >(nc localhost 5100) | nc localhost 5000
Альтернативно, установите pee
изmoreutils:
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