컴퓨터가 두 대 있는데, 한 대는데스크탑내 사무실에는 (다음이 있다.카메라첨부)와랩탑웹의 다른 곳.
저는 보통 웹캠을 켜서 사무실을 봅니다.
ssh Office -Y "mplayer tv://device=/dev/video0"
내 노트북에서. 저는 Xforwarding mplayer를 좋아하지 않는데 왜 /dev/video
노트북에서 실행하여 컴퓨터로 터널링할 수 없나요?
sudo mkfifo /dev/video1
ssh Office 'dd if=/dev/video' | sudo dd of=/dev/video1'
그런 다음 웹캠을 시청하세요(내랩탑)
mplayer tv://device=/dev/video1
답변1
대역폭이 낮은 경우 비디오 스트림을 압축하는 것이 좋습니다(2020년에도 유효함).
그리고 ffmpeg
그리고mplayer
ssh USERNAME@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
비트 전송률 500kbit/s
원격 호스트에 ffmpeg를 설치하고 로컬 컴퓨터에 mplayer를 설치해야 합니다.
그리고 ffmpeg
그리고mpv
ssh USERNAME@REMOTEHOST ffmpeg -an -f video4linux2 -s 640x480 -i /dev/video0 -r 10 -b:v 500k -f matroska - | mpv --demuxer=mkv /dev/stdin
그리고 ffmpeg
그리고ffplay
ssh USERNAME@REMOTEHOST ffmpeg -an -f video4linux2 -s 640x480 -i /dev/video0 -r 10 -b:v 500k -f matroska - | ffplay -f matroska /dev/stdin
답변2
그것은 다음과 같습니다:
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
그러므로:
- 명명된 파이프를 사용하지 마세요.
- 대역폭 확인
또한 - 방법아니요업무(검은색 화면 표시, 알 수 없는 장치에 대한 불만 등)?
답변3
허용되는 답변이 나에게 적합하지 않습니다. 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
)에 저장됩니다.
답변4
이 작업을 수행할 수 없는 이유가 있는지는 모르겠지만 구현에서 발견한 한 가지 문제는 원격 시스템이 해당 시스템에서 /dev/video1을 찾지만 사용자가 생성했기 때문에 찾을 수 없다는 것입니다. 로컬 시스템에서 확인했습니다.
내가하고 싶은 일은 다음과 같습니다
nc -l 12345 | sudo tee /dev/video > /dev/null &
ssh Office
그런 다음 로컬 시스템의 TCP 포트 12345로 이동하여 일부 작업을 시도하도록 지시합니다.