툴을 반든 배경

프로젝트 URL 부터 소개하려고 한다.

이 프로젝트를 만들게 된 배경을 소개하자면,
iphone device에서 화면을 가져오는 방법으로 유명한 tool은 ios minicap있다.

하지만 GIThub을 가보면 마지막 update가 무려 4년전이다.

그리고 issue 15개나 되는데..

그 중 큰 문제는 있는데 한 PC에서 동시에 여러대의 Device를 mirroring하지 못한다는 것이다.

그래 관련 방법을 찾는 도중 다음 Github들을 알게 되었다.

첫번째는 quicktime_video_hack은 ios device는 기본적으로 연결된 mac 장비에 quicktime을 통해서 영상을 미러링 해준다.
이 소스는 기가막히게 gousb등을 활용해서 ios device가 quicktime과 통신하는 방식을 로우 레벨로 구현했다.

하지만 이 library에도 문제가 있어서 multi device는 지원하지 않았다.

그래서 찾게 된게 ios_video_pull인데 이 소스를 만든사람은 quicktime_video_hack에서 usb읽어 오는 부분을 수정해서 multi device를 지원하게 해줬다.

관련 소스를 보고 리스펙하게 됨!

그런데 이 툴은 아직 완성되지 않다보니 한두개의 버그가 있었다.

버그는 ipad mini3같은 minor한 버전에 대해서는 화면 codec중 오류가 발생하는 이슈가 있었다.

그리고 코덱 관련 소스가 C로 되어있고(개인적으로 C를 잘 모름, 읽을 줄만 암), 하나의 기능에 여러가지 언어가 있으니 보기 불편하여, GO도 잘 모르지만, Codec부분을 GO로 변경하여 개발하게 되었다.

사용법

  • 장비 준비
    1. MAC장비
    2. iPhone
  • Mac환경설정
    1. GO Install(1.12버전 이상)
    2. 관련 Library 설치
      brew install libusb
      brew install pkg-config
      brew install ffmpeg
      brew install gstreamer gst-plugins-bad gst-plugins-good gst-plugins-base gst-plugins-ugly
  • 관련 소스 다운 및 빌드/수행
    1. 아이폰을 Mac장비에 연결
    2. 영상 출력을 위한 ios-video-stream 소스 다운 및 빌드 수행
          git clone https://github.com/nanoscopic/ios_video_stream.git
          cd ios_video_stream
          go get
          go build
          ./ios-video-stream -stream
    3. 아이폰 미러링 툴ios-screen-mirror 소스 다운 및 빌드 수행
        git clone https://github.com/jjunghyup/ios-screen-mirror.git
        cd ios-screen-mirror
        go get
        go build
        ./ios-screen-mirror -pull
    4. 브라우저에서 http://127.0.0.1:8000을 접속 후 open버튼 클릭
profile
안녕하세요~ :)

2개의 댓글

comment-user-thumbnail
2020년 9월 22일

오 !! 정리가 잘되어 있군여 감사합니다

1개의 답글