내 사무실에는 desktop 두 개의 컴퓨터가 있고 (webcam 첨부되어 있고 laptop 네트워크의 다른 곳에 있습니다.
보통 나는 웹캠을 통해 내 사무실을 살펴보고
ssh Office -Y "mplayer tv://device=/dev/video0"
내 노트북에서. Xforwarding mplayer가 마음에 들지 않으므로 랩탑에서 이것을 실행하여 PC에 /dev/video
를 터널링 할 수없는 이유는 무엇입니까?
Sudo mkfifo /dev/video1
ssh Office 'dd if=/dev/video' | Sudo dd of=/dev/video1'
그런 다음 웹캠을 봅니다 (내 laptop).
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
그 후:
또한 not에서 어떻게 작동합니까 (검은 색 화면 표시, 알 수없는 장치에 대한 불평 등)?
대역폭이 낮은 경우 비디오 스트림을 압축하는 것이 좋습니다.
ssh [email protected] 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가 필요합니다.
VideoLAN Project 는 원하는 부분 만 수행하기 위해 존재합니다.
스트리밍 기능을 사용하지는 않았지만 단일 머신 사용에서는 견고합니다.
수락 된 답변이 저에게 효과적이지 않습니다. dd
는 읽지 않습니다. nc
는 다른 포트를 절약 할 수 없다면 나쁘다 (어쨌든 전혀 작동하지 않는다). cat
나에게도 효과가 없었습니다.
나를 위해 일한 것은 수신 측에서 이것이었습니다.
ssh [email protected] "ffmpeg -r 14 -s 640x480 -f video4linux2 -i /dev/video0 -f matroska -" | mplayer - -idle
이것은 인코딩되는 이점이 있으므로 대역폭을 보너스로 절약 할 수 있습니다. 포럼/웹 사이트의 다른 어떤 것도 데비안 머신에서 작동하지 않았습니다.
tee 와 결합하면 동시에보고 녹화 할 수 있습니다.
ssh [email protected] "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)로 이동하여 무언가를 시도하십시오.