Browser-based iOS screen mirror over USB (cross-platform fork) #1668
Replies: 6 comments 12 replies
-
|
Not really sure what the point is behind having all these backends is: Quicktime/AVFoundation are just using Valeria under-the-hood, and I'm pretty sure it should work in almost all cases? In any case, what's the idea behind making it available from the browser? |
Beta Was this translation helpful? Give feedback.
-
|
Having looked at the code, we should also completely dismiss the use of |
Beta Was this translation helpful? Give feedback.
-
|
After reviewing most of the code, I think its okay to keep the webserver as it is small enough and very much self-contained, but only for valeria and avfoundation (platform-dependent). The high-level exposed API should be the same. |
Beta Was this translation helpful? Give feedback.
-
|
pushed the new changes. let me know what you guys think! |
Beta Was this translation helpful? Give feedback.
-
|
Okay I had to make substantial changes for linux. I closed the previous PR and made a new one. |
Beta Was this translation helpful? Give feedback.
-
|
I will throw out there again that there is a new way to obtain full frames from devices which is by using the Debug View Hierarchy. So far there are two non-Apple implementations existing that I'm aware of:
A python implementation of this should be created as well if the goal is to expose all the various ways to "get a video stream" in a similar fashion. Note that the go-ios PR implementation has not yet implementation merging of the images of each section into a cohesive single image nor optimized for repeatedly doing the process rapidly which would require caching the initial steps to be able to produce a decent framerate. One nice thing about this method is that you get the full screen without the top bar, effectively seeing underneath of that bar. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all — I've been working on a
screen-mirrorsubcommand that streams an iOS device's screen into your browser over USB. It's a fork of pmd3. Feedback welcome!Repo / branch: https://github.com/renegadelink/pymobiledevice3/tree/screen-mirror
What it does
pymobiledevice3 screen-mirrorstarts a small local web server; open it in any browser and you get a live view of the device.Backends (chosen automatically; you can also force one with
--backend)valeriapip install av)avfoundationaccessibilityscreenshotrWhat it does NOT do
Try it
macOS TCC gotcha
On macOS the
avfoundationbackend needs both Camera and Screen Recording permissions. macOS attributes these to the app that launched the process, not topymobiledevice3itself, so grant them to whichever terminal you're running the command from:Open System Settings → Privacy & Security → Camera and → Screen Recording, tick your terminal app in both, and fully quit + relaunch it (the permission only takes effect for newly-spawned processes). The startup banner will print
tcc=authorizedfor both when it's set up correctly.Sharing logs
If you hit issues, re-run with
-v --redactand paste the log —--redactscrubs hostnames, UDIDs, AVFoundation UUIDs, and possessive device names (e.g.<Owner>'s iPad) so the output is safe to share publicly.Feedback
Not opening a PR yet — want to get real-world testing in first. Thanks for taking a look.
Beta Was this translation helpful? Give feedback.
All reactions