/ 프로젝트 / 자동화 / Mobile Mirror
📲
베타

Mobile Mirror

폰 화면 미러링 · 원격 제어

폰이 스스로 화면을 MJPEG로 송출하고, 같은 와이파이의 PC 브라우저에서 탭·스와이프·입력으로 제어하는 온디바이스 미러링 서버. QR로 바로 접속, USB 불필요.

FluttershelfMJPEGAccessibilityMediaProjection
×미러링 연결
미러링 연결

배경

폰 화면을 PC에서 실시간으로 보고 조작하려면 보통 USB나 PC 에이전트가 필요합니다. 이 앱은 폰이 스스로 서버가 되어, 같은 와이파이의 브라우저에서 바로 제어하게 합니다.

핵심 기능

  • 온디바이스 MJPEG 스트리밍 — /stream 실시간 송출, /snapshot 단일 캡처
  • 브라우저 원격 입력 — 클릭=탭, 드래그=스와이프, 텍스트를 /tap·/swipe·/stroke·/text 로 주입
  • 접근성 트리 제어(Android) — /tree 노드 덤프, /click_node 로 버튼을 객체 단위 클릭
  • QR·허브 발견 — 화면의 QR/URL(:28080)로 즉시 접속, LAN 스캔으로 다른 기기 탐색
  • PC 허브 자동 등록 — 스트리밍 중 허브(:5050)에 주기적 announce 해 서브넷 너머에서도 발견
  • 이미지 찾아 클릭 자동화 + Wakelock 화면 유지 + 포트 자동 증가

동작 방식

Android는 MediaProjection 포그라운드 서비스로 화면을 캡처하고 AccessibilityService로 제스처·텍스트를 주입합니다. Dart의 shelf 서버(0.0.0.0:28080)가 MJPEG 스트림·내장 뷰어·제어 엔드포인트를 노출하며, PC는 /stream 이미지를 렌더하고 입력을 POST하는 브라우저 클라이언트일 뿐입니다.

사용 방법

  1. 폰에서 Mobile Mirror를 열고 (Android 첫 실행 시) 접근성 서비스를 켠다
  2. 'Start Mirroring'을 누르면 QR + http://폰IP:28080 주소가 표시된다
  3. PC 브라우저에서 QR을 스캔하거나 주소를 열어 뷰어를 띄운다
  4. 클릭·드래그·텍스트 입력으로 폰을 제어하고 'Stop Mirroring'으로 종료한다
분류: 자동화 · 원본 경로: D:\flutter_project\mobile_mirror