네트워크에서 내 데스크탑을 복제하는 방법을 찾고 있습니다. (웹 브라우저 클라이언트에서 작동한다면 좋을 것입니다.)
vnc
/를 사용해 보았지만x11vnc
품질/프레임 속도가 너무 낮았습니다. (스마트폰 클라이언트의 CPU가 너무 높은 것 같아요.)화면을 스트리밍 비디오로 변환하려고 시도했지만
ffmpeg
할 수 없습니다. (품질이 좋지 않으며 진정한 스트리밍 시스템이 아님)
이를 수행할 수 있는 방법이 있습니까? X11 전달 및 화면 복제를 사용하면 될까요?
아마도 혼합 ssh -X
일까요 xrandr -d :0 --output HDMI-1 --auto
? (이 xrandr
코드는 화면을 복제합니다 HDMI-1
)
좋아요: ( xrandr -d :0 --output http://192.168.1.3:9001 --auto
꿈을 꾸고 있어요.)
편집: 어쩌면 xpra
내가 찾고 있는 것을 할 수 있을까요? 하지만 아직 작동시킬 수는 없습니다.
답변1
당신은 그것을 사용할 수 있습니다 ffmpeg
:
우수한방사장비 작동:
ffmpeg -f x11grab -s 1800x1000 -framerate 30 -i :0.0 -preset fast -vcodec libx264 -tune zerolatency -b 900k -f mpegts udp://RECEIVERIP:9000
그리고인수하다장치에서 방화벽 포트를 열고 다음을 9000/UDP
실행합니다.
ffplay udp://@:9000
RECEIVERIP
전송할 화면 영역을 조정하려면 적절한 설정을 하고 수정 해야 합니다 -s 1800x1000
. 물론 원하는 무료 포트를 대신 선택할 수도 있습니다 9000
.
성능 측면에서 원하는 품질과 대기 시간을 유지하면서 전송 시스템이 처리할 수 있는 범위 내에서 확장 -framerate
및 -preset
( )할 수 있습니다....|fast|ultrafast
ffplay
귀하의 요구에 맞는 아주 작은 클라이언트입니다. 을 사용할 수도 있습니다 vlc
.
브라우저에 스트림을 표시하려면 스트리밍 서버를 사용해야 할 수도 있습니다. vlc
능력은 있겠지만 아마도 속도가 느릴 것이고, 문서도 충분히 찾지 못했습니다.
노트:
최적화된 전송 명령(대기 시간은 짧지만 품질은 낮고 특히 동적 콘텐츠는 아님)은 다음과 같습니다.
ffmpeg -f x11grab -s 1800x1000 -framerate 15 -i :0.0 -preset ultrafast -vcodec libx264 -tune zerolatency -b 500k -f mpegts udp://RECEIVERIP:9000
로드를 더욱 최적화하려면 다음과 같이 하드웨어 가속을 활용할 수 있습니다.파일에 기록하다. 이는 플랫폼에 따라 다르지만 지원되는 경우 CPU 로드를 크게 줄일 수 있습니다.
답변2
Chrome 원격 데스크톱이 당신이 찾고 있는 것일 수 있습니다.
답변3
예, xpra를 사용하면 이 작업을 수행할 수 있습니다. (xpra, vnc 및 ffmpeg 솔루션은 모두 화면 스크래핑을 사용하여 픽셀 데이터를 캡처하므로 성능 제한이 있습니다.) X11 모니터가 ":0"에 있다고 가정하고 다음을 시도하십시오.
xpra shadow :0 --bind-tcp=0.0.0.0:14500 --tcp-auth=pam
#wait a second or two and then:
xdg-open http://localhost:14500/