Обратите внимание на число раздела: Предположим, что Вы хотите справку на printf
. существует по крайней мере два из них: в оболочке и в C. Версия удара printf находится в разделе 1, версия C находится в разделе 3 или 3C. Если Вы не знаете, какой Вы хотите, ввести man -a printf
, и все страницы руководства будут отображены.
Если то, что Вы ищете, является форматом printf со всеми кодами %, и это не появляется на printf странице справочника, можно перейти к связанным страницам справочника, перечисленным под, СМ. ТАКЖЕ абзац. Можно найти что-то как formats(5)
, который предлагает, чтобы Вы ввели man 5 formats
.
Если Вы раздражаетесь это man printf
дает Вам printf (1) и все, что Вы хотите, printf (3), необходимо изменить порядок просканированных каталогов в MANPATH
переменная среды и помещенный те для языка C перед теми для команд оболочки. Это может произойти также, когда Фортран или страницы справочника TCL/Tk перечислены прежде C.
Если Вы не знаете, где запустить, ввести man intro
, или man -s <section> intro
. Это дает Вам сводку команд требуемого раздела.
Разделы четко определены:
Наконец, что не менее важно: информация, переданная в страницах справочника, не избыточна, таким образом читайте тщательно с начала до конца для увеличения Ваших возможностей найти то, в чем Вы нуждаетесь.
Что-то как:
dd if=/dev/video0 | mplayer tv://device=/dev/stdin
работы для меня (SOA#1) локально. Делает:
ssh localhost dd if=/dev/video0 | mplayer tv://device=/dev/stdin
А также
mkfifo test
dd if=/dev/video0 of=test &
mplayer tv://device=test
Следовательно:
Также - как делает в не, работают (отобразите черный экран, жалуется на неизвестное устройство и т.д.)?
Проект VideoLAN существует в значительной степени, чтобы сделать, чего Вы требуете.
Я не использовал его возможности потоковой передачи, но в его единственном использовании машины это показало, чтобы быть горным телом для меня.
Я не знаю, существует ли какая-либо причина, Вы не можете сделать этого, но одна проблема, которую я вижу с Вашей реализацией, состоит в том, что удаленная система будет искать/dev/video1 в своей системе, но не сможет найти его, потому что Вы создали его в своей локальной системе.
То, что я сделал бы, является чем-то вдоль следующего
nc -l 12345 | sudo tee /dev/video > /dev/null &
ssh Office
и затем попробуйте что-то, говоря этому перейти к порту TCP Вашей локальной системы 12345.
Если у вас низкая пропускная способность, я рекомендую сжатие видеопотока:
ssh USER@REMOTEHOST ffmpeg -an -f video4linux2 -s 640x480 -i /dev/video0 -r 10 -b:v 500k -f matroska - | mplayer - -idle -demuxer matroska
, где
-an
отключает кодирование звука. Если вам нужен звук, замените -an
на -f alsa -ac 1 -i hw: 3
(где hw: 3 также может быть hw: 0 или hw: 1,… См. arecord -l
для вашего устройства).Если вам нужен только звук (без видео), используйте это ) -s 640x480
- размер вашего видео в измерениях x и y -r 10
- это размер частота кадров, которую вы хотите получить (чем ниже, тем лучше изображение с низким битрейтом, но выглядит более неуклюже) -b: v 500k
- битрейт 500 килобит / с Вам нужен ffmpeg на удаленном хосте и mplayer на локальной машине установлен.
Принятый ответ мне не подходит. dd
просто не будет его читать. nc
плохо, если вы не можете выделить еще один порт (У меня все равно это не работает вообще ). cat
мне тоже не помогло.
В итоге у меня сработало вот это на принимающей стороне:
ssh user@host "ffmpeg -r 14 -s 640x480 -f video4linux2 -i /dev/video0 -f matroska -" | mplayer - -idle
Преимущество этого заключается в том, что он закодирован, поэтому вы экономите полосу пропускания в качестве бонуса. Ничто другое на любом форуме / веб-сайте не работало для меня на машине Debian.
Комбинируйте с тройником , и вы сможете смотреть и записывать одновременно:
ssh user@host "ffmpeg -r 14 -s 640x480 -f video4linux2 -i /dev/video0 -f matroska -" | tee $(date +%Y-%m-%d_%H-%M-%S)_recording.mkv | mplayer - -idle
Это откроет mplayer для прямой трансляции и сохранит его в файле, содержащем текущую дату и время, в то же время (пример имени файла:2018-11-22_01-22-10_recording.mkv
).
dd if=/dev/video0 | mplayer tv://device=/dev/stdin
это говорит мне, что ресурс занят. Иначе это работает (я смотрю видео), даже когда я работаюmplayer tv://device=/dev/null
– Stefan 22.09.2010, 11:09mplayer
был быmplayer tv:// -tv device=/dev/stdin
или подобный, но это не работает (устройства посимвольного ввода-вывода являются более особенными, чемdd
может обработать правильно). Когда Вы работаетеmplayer tv://device=/dev/stdin
это не видит спецификацию устройств и таким образом отступая к/dev/video0
непосредственно, давая иллюзию "работы". Но это не будет работать вообще когда веб-камера иmplayer
процесс разделяется сетью. – Daniel Wagner 29.03.2017, 00:59