This is an Operating System indepedent implementation for Quicktime Screensharing for iOS devices :-)
This repository contains all the code you will need to grab and record video and audio from one or more iPhone(s) or iPad(s) without needing one of these expensive MacOS X computers or the hard to use QuickTime Player :-D
brew install libusb pkg-config gstreamer gst-plugins-bad gst-plugins-good gst-plugins-base gst-plugins-ugly
go run main.go(need to install golang of course)
Run with Docker: the Docker files are here. There is one for just building and one for running.
If you want to build/run locally then copy paste the dependencies from this Dockerfile and install with apt.
Git clone the repo and start hacking or download the latest release and run the binary :-D
qvh gstreamerand it will work.
qvh record out.h264 out.wavor
qvh audio out.wav --wavfor audio only
qvh diagnostics metrics.csv --dump=binary.binwhich will persist logs to a file, dump all usb transfers and gather metrics.
qvh gstreamer --examplesfor transcoding media or streaming.
qvh audio out.mp3 --mp3and
qvh audio out.ogg --ogg
QVH probably does something similar to what
com.apple.cmio.iOSScreenCaptureAssistant are doing on MacOS.
I have written some documentation here doc/technical_documentation.md
So if you are just interested in the protocol or if you want to implement this in a different programming language than golang, read the docs.
Also I have extracted binary dumps of all messages for writing unit tests and re-develop this in your preferred language in a test driven style.
I have given up on windows support :-)
Port to Windows (I don't know why, but still people use Windows nowadays) Did not find a way to do it