나는 두 컴퓨터하는이 바탕 화면 의 (a 내 사무실에서 웹캠 장착)와 노트북 다른 곳에서 네트워크를.
보통 나는 웹캠을 통해 내 사무실을 살펴보고
ssh Office -Y "mplayer tv://device=/dev/video0"
내 노트북에서. Xforwarding mplayer가 마음에 들지 않으므로 /dev/video
랩톱에서 이것을 실행하여 PC로 터널링 할 수없는 이유는 무엇입니까?
sudo mkfifo /dev/video1
ssh Office 'dd if=/dev/video' | sudo dd of=/dev/video1'
웹캠을보고 (내 랩톱에서 )
mplayer tv://device=/dev/video1
답변
다음과 같은 것 :
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
금후:
- 명명 된 파이프없이 시도
- 대역폭 확인
또한 -에서와 어떻게 하지 작업 (디스플레이 검은 화면 등 알 수없는 장치를 뿌려)?
답변
대역폭이 낮은 경우 비디오 스트림을 압축하는 것이 좋습니다.
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
(3도 얼굴을가 될 수 : 0 또는 HW : 어디 HW를 1, … 참조arecord -l
장치에 대한). 오디오 전용 (비디오)를 원하는 경우, 이것을 사용 )-s 640x480
x 및 y 차원의 동영상 크기-r 10
수신하려는 프레임 속도입니다 (낮을수록 낮은 비트 전송률로 더 나은 이미지를 만들지 만 더 많은 붐비가 보입니다)-b:v 500k
500 킬로 비트 / 초의 비트 전송률입니다
원격 호스트에는 ffmpeg가 설치되어 있고 로컬 시스템에는 mplayer가 필요합니다.
답변
가 VideoLAN 프로젝트는 당신이 원하는 무엇을 바로 할 큰 부분에 존재합니다.
스트리밍 기능을 사용하지는 않았지만 단일 머신 사용에서는 견고합니다.
답변
수락 된 답변이 저에게 효과적이지 않습니다. dd
단순히 읽지 않을 것입니다. nc
다른 포트를 절약 할 수 없다면 나쁘지 않습니다 (어쨌든 전혀 작동하지 않습니다). cat
나에게도 효과가 없었습니다.
나를 위해 일한 것은 수신 측에서 이것이었습니다.
ssh user@host "ffmpeg -r 14 -s 640x480 -f video4linux2 -i /dev/video0 -f matroska -" | mplayer - -idle
이것은 인코딩되는 이점이 있으므로 대역폭을 보너스로 절약 할 수 있습니다. 포럼 / 웹 사이트의 다른 어떤 것도 데비안 머신에서 작동하지 않았습니다.
티 와 결합 하면 동시에보고 녹화 할 수 있습니다.
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
.
답변
당신이 그것을 할 수없는 이유가 있는지 모르겠지만, 구현에서 볼 수있는 한 가지 문제는 원격 시스템이 시스템에서 / dev / video1을 찾지 만 찾을 수는 없다는 것입니다. 로컬 시스템에서 생성했습니다.
내가 할 일은 다음과 같은 것입니다.
nc -l 12345 | sudo tee /dev/video > /dev/null &
ssh Office
그런 다음 로컬 시스템의 TCP 포트 12345로 이동하도록 지시하여 무언가를 시도하십시오.