프로젝트 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로 변경하여 개발하게 되었다.
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
git clone https://github.com/nanoscopic/ios_video_stream.git
cd ios_video_stream
go get
go build
./ios-video-stream -stream
git clone https://github.com/jjunghyup/ios-screen-mirror.git
cd ios-screen-mirror
go get
go build
./ios-screen-mirror -pull
http://127.0.0.1:8000
을 접속 후 open
버튼 클릭
오 !! 정리가 잘되어 있군여 감사합니다