scrcpy
scrcpy copied to clipboard
[question] Any plans to support iOS
- [X] I have checked that a similar feature request does not already exist.
I know this kind of has been asked before but I thought maybe something might have changed during that time and now. Sorry if this annoying to you, but, I was wondering if you are aware of any other FOSS alternatives that are similar to scrcpy
but also support iOS devices, or, are there any plans to support iOS devices? This is something much need in having a FOSS alternative for iOS devices.
Hi,
Similar work has been done for that, but it's a full reverse, not just using a tool like adb:
https://github.com/danielpaulus/quicktime_video_hack/blob/master/doc/technical_documentation.md
So it would first need the integration of this work in a tool using libimobiledevice/usbmuxd, and then it probably makes sense to keep libimobiledevice tools as a client instead of scrcpy.
It lacks the input things, but maybe they could be executed through XCTest somehow.
@alexandre-janniaux Thanks for the reference. Although I have no idea how things work behind the scenes but generally I do agree with
integration of this work in a tool
there are generally many isolated FOSS projects that would make sense to be integrated in a unifying tool.
For instance, free-sidecar enables sidecar for older devices which got blacklisted from apple by default.
It would certainly be interesting to have them under a unifying tool which eventually allows to extend or mirror the iOS device to your mac/laptop.
Hi,
Although I have no idea how things work behind the scenes
It's basically an iOS service running on the phone, probably providing the features for ReplayKit : https://developer.apple.com/documentation/replaykit
It's also what quicktime is using when recording an iOS device screen from a MacOSX computer.
there are generally many isolated FOSS projects that would make sense to be integrated in a unifying tool.
Sure, but scrcpy is very specific to Android. I tried to determine with scrcpy's author whether it would be worthy back then, but scrcpy is mostly an adb link, a little ffmpeg player, and hacks and java payload to transfer audio and input. It would be completely different for iOS so it might not be a good idea to unify this within scrcpy (maybe in a later tool if a libscrcpy gets created) and unification would'nt bring any benefit. Better integration to the system can be done by upper layer providing a user interface for both scrcpy and whatever tool can bring this to iOS instead. It will probably not be the same community maintaining the iOS counterpart too.
Also, integrating the work mentioned above within scrcpy means that it won't work on macosx (where the device is already owned by the system usbmuxd iirc) and won't work if you have usbmuxd installed, meaning that you typically can't have file transfer and video at the same time.
So the core of this must be in usbmuxd, which makes libimobiledevice the primary candidate for the client part, and thus a libimobiledevice client maintained by the same people the best candidate for a replaykit tool.
Then, a new project implementing xctest or other to have all the hacks scrcpy is doing on iOS is probably a good idea, but there would be almost no code sharing with scrcpy since it's a whole different library (except ffmpeg playback).
Thanks for the free-sidecar link, it's actually very interesting for me :D
Thanks for the detailed explanation, at least now I get the pros and cons of each approach.
Wormhole (https://er.run) did the iOS work. cast and control iPhone from PC or Mac.
@liangwu I tried wormhole in response to your note. Screen mirror worked but it failed to provide me with control via its bluetooth hack... might just be my old PC's bluetooth hardware version is too old.
I am also investigating jailbreak universe and found this https://github.com/coolstar/RecordMyScreen which seems to have really good code that seems apropo for a scrcpy port core, to my naive eyes anyway.
@liangwu I tried wormhole in response to your note. Screen mirror worked but it failed to provide me with control via its bluetooth hack... might just be my old PC's bluetooth hardware version is too old.
I am also investigating jailbreak universe and found this https://github.com/coolstar/RecordMyScreen which seems to have really good code that seems apropo for a scrcpy port core, to my naive eyes anyway.
YES, It Works when your bluetooth adapter Supports Bluetooth Low Energy Peripheral Role. Here to check if your Windows PC supports or not. you could also buy one bluetooth dongle to support it.amazon recommended.
@liangwu
Wormhole (https://er.run) did the iOS work. cast and control iPhone from PC or Mac.
This didn't work for me, I tried to mirror screen from ipad 2 2011 to my late 2015 macbook but I got nothing no video/audio nothing got mirrored.
@liangwu
Wormhole (https://er.run) did the iOS work. cast and control iPhone from PC or Mac.
This didn't work for me, I tried to mirror screen from ipad 2 2011 to my late 2015 macbook but I got nothing no video/audio nothing got mirrored.
Try wireless connection, keep your Mac and iPad in same network.
I did, but that didn't work either, I believe it might have to do with the fact that the ipad is old, 2011.
I did, but that didn't work either, I believe it might have to do with the fact that the ipad is old, 2011.
Issue could be your macOS instead of iPad, this is from their FAQ
I think I have tried all of that but still nothing, I'll give it another go but my hopes are really low. BTW I'm running Big Sur version 11.0.1.
I think I have tried all of that but still nothing, I'll give it another go but my hopes are really low. BTW I'm running Big Sur version 11.0.1.
We're probably straying off-topic here but if you need support for Wormhole you can look for their Discord. I'll just leave it at that, good luck!
P.S. Another app you may look into is KeyPad: https://apps.apple.com/us/app/keypad-keyboard-and-mouse/id1491684442. While it currently doesn't support screen mirroring you can easily use QuickTime movie recording and it supports keyboard/mouse via Bluetooth.
@liangwu I tried wormhole in response to your note. Screen mirror worked but it failed to provide me with control via its bluetooth hack... might just be my old PC's bluetooth hardware version is too old.
I am also investigating jailbreak universe and found this https://github.com/coolstar/RecordMyScreen which seems to have really good code that seems apropo for a scrcpy port core, to my naive eyes anyway.
if you have jailbreaked your iOS devices, try Blackhole App(https://er.run/blackhole)
I think I have tried all of that but still nothing, I'll give it another go but my hopes are really low. BTW I'm running Big Sur version 11.0.1.
If you still would to try again, you could join their feedback telegram(https://t.me/joinchat/NXEoQRtzLKZKTD9X2XFtRQ) and find it out
any one point me to piece of code to control ios devices with bluetooth with touch-assist enabled.
both vysor and wormhole are paid. better to look for open-source
@krishtoautomate You can try KeyPad, it's pretty basic but should do the job, but it's only available for macOS.
Alternatively, if you can work without the Bluetooth requirement, you can try Airtest IDE or Appium. Those are used for iOS device automation but performance wise they are pretty slow.
I've just released the first version of Scrcpy.app for iOS, which is based on scrcpy v1.8, you dont need to jailbroken your iOS device. But you may need to build or re-codesign to install on your iPhone now, because the AppStore version is under reviewing.
For more detail you can visit my opensource project: https://github.com/wsvn53/scrcpy-ios
@guanzhangrtk KeyPad is good but need to expose apis to integrate with scrcpy
@krishtoautomate Yeah I've asked the author for some APIs, I guess he's still working on it. Perhaps you can also do the same :)
Wormhole (https://er.run) did the iOS work. cast and control iPhone from PC or Mac.
Nice! Without JailBreak you hava a screen mirror, JailBreaking the iPhone you get control from the mac (did't tried in Win PC)
Screen mirror can be done my integrating ios-minicap which is in c++ and can be easily integrated to scrcpy
I was also looking for scrcpy analogues I found an old project: https://github.com/testingbot/ios-vnc . Now there are problems with its building (but solvable) and it depends on the old web driver. But it seems to have worked once upon a time and its code might be useful There is also a way to output the screen with ios using idb: https://fbidb.io/docs/video
From what I tried and it worked: jailbreak + blackhole, but it's paid, plus it requires manual action (although you can automate it) jailbreak + https://github.com/julioverne/screendump, but the transmission quality leaves much to be desired
UPD. I haven't tried it yet, but maybe that's what we're looking for https://github.com/nanoscopic/controlfloor https://github.com/nanoscopic/ios_remote_provider
UPD2. All the projects, that I found:
- https://github.com/facebook/idb
idb video-stream --fps 30 --format h264 --compression-quality 1.0 --udid <udid> | ffmpeg -f h264 -i pipe:0 -vcodec copy -tune zerolatency -b 900k -framerate 30 -f mpegts udp://127.0.0.1:12345
only screen display - https://github.com/danielpaulus/quicktime_video_hack - view ala quiktime, but without it. Used in some implementations
- Needs jaibreak
- https://github.com/julioverne/screendump
- https://github.com/f-viktor/ghetto-scrcpy-iOS
- https://er.run/blackhole - paid, but it works
- Needs webdriver agent
- https://github.com/testingbot/ios-vnc is outdated, needs a lot of tweaks and depends on old repositories. But in theory can be improved
- https://github.com/Karazum/ios-vnc is a fork with linux support
- controlfloor
- https://github.com/nanoscopic/ios_remote_provider The provider connects iOS devices to ControlFloor. This sets up video streaming from iOS devices to the browser, and allows you to control devices remotely.
- https://github.com/nanoscopic/controlfloor Remote device control system
- https://github.com/AirtestProject/iOS-Tagent works in Airtest ide
- https://github.com/DeviceFarmer/stf_ios_support is a cool project, hard to set up
- https://github.com/kavichki-test/ios-farm - similar to stf but unsupported project, as bonus article and chat
- https://github.com/NetrisTV/ws-scrcpy web device control
- https://github.com/testingbot/ios-vnc is outdated, needs a lot of tweaks and depends on old repositories. But in theory can be improved
@fleytman Just use Airtest IDE if you are looking for control. It works perfectly fine.
@guanzhangrtk It works as other appium webdriver agent solutions, but need run ide.
https://github.com/danielpaulus/quicktime_video_hack Here is the iOS video hack for screening cast feature, I think scrcpy could implement the cast feature first😄
I was also looking for scrcpy analogues I found an old project: https://github.com/testingbot/ios-vnc . Now there are problems with its building (but solvable) and it depends on the old web driver. But it seems to have worked once upon a time and its code might be useful There is also a way to output the screen with ios using idb: https://fbidb.io/docs/video
From what I tried and it worked: jailbreak + blackhole, but it's paid, plus it requires manual action (although you can automate it) jailbreak + https://github.com/julioverne/screendump, but the transmission quality leaves much to be desired
UPD. I haven't tried it yet, but maybe that's what we're looking for https://github.com/nanoscopic/controlfloor https://github.com/nanoscopic/ios_remote_provider
UPD2. All the projects, that I found:
https://github.com/facebook/idb
idb video-stream --fps 30 --format h264 --compression-quality 1.0 --udid <udid> | ffmpeg -f h264 -i pipe:0 -vcodec copy -tune zerolatency -b 900k -framerate 30 -f mpegts udp://127.0.0.1:12345
only screen displayhttps://github.com/danielpaulus/quicktime_video_hack - view ala quiktime, but without it. Used in some implementations
Needs jaibreak
- https://github.com/julioverne/screendump
- https://github.com/f-viktor/ghetto-scrcpy-iOS
- https://er.run/blackhole - paid, but it works
Needs webdriver agent
https://github.com/testingbot/ios-vnc is outdated, needs a lot of tweaks and depends on old repositories. But in theory can be improved
- https://github.com/Karazum/ios-vnc is a fork with linux support
controlfloor
- https://github.com/nanoscopic/ios_remote_provider The provider connects iOS devices to ControlFloor. This sets up video streaming from iOS devices to the browser, and allows you to control devices remotely.
- https://github.com/nanoscopic/controlfloor Remote device control system
https://github.com/AirtestProject/iOS-Tagent works in Airtest ide
https://github.com/DeviceFarmer/stf_ios_support is a cool project, hard to set up
https://github.com/kavichki-test/ios-farm - similar to stf but unsupported project, as bonus article and chat
https://github.com/NetrisTV/ws-scrcpy web device control
any update for newer ios 16.3.1 and macOS Ventura? i have been trying these method but nothing helps
I was also looking for scrcpy analogues I found an old project: https://github.com/testingbot/ios-vnc . Now there are problems with its building (but solvable) and it depends on the old web driver. But it seems to have worked once upon a time and its code might be useful There is also a way to output the screen with ios using idb: https://fbidb.io/docs/video From what I tried and it worked: jailbreak + blackhole, but it's paid, plus it requires manual action (although you can automate it) jailbreak + https://github.com/julioverne/screendump, but the transmission quality leaves much to be desired UPD. I haven't tried it yet, but maybe that's what we're looking for https://github.com/nanoscopic/controlfloor https://github.com/nanoscopic/ios_remote_provider UPD2. All the projects, that I found:
https://github.com/facebook/idb
idb video-stream --fps 30 --format h264 --compression-quality 1.0 --udid <udid> | ffmpeg -f h264 -i pipe:0 -vcodec copy -tune zerolatency -b 900k -framerate 30 -f mpegts udp://127.0.0.1:12345
only screen displayhttps://github.com/danielpaulus/quicktime_video_hack - view ala quiktime, but without it. Used in some implementations
Needs jaibreak
- https://github.com/julioverne/screendump
- https://github.com/f-viktor/ghetto-scrcpy-iOS
- https://er.run/blackhole - paid, but it works
Needs webdriver agent
https://github.com/testingbot/ios-vnc is outdated, needs a lot of tweaks and depends on old repositories. But in theory can be improved
- https://github.com/Karazum/ios-vnc is a fork with linux support
controlfloor
- https://github.com/nanoscopic/ios_remote_provider The provider connects iOS devices to ControlFloor. This sets up video streaming from iOS devices to the browser, and allows you to control devices remotely.
- https://github.com/nanoscopic/controlfloor Remote device control system
https://github.com/AirtestProject/iOS-Tagent works in Airtest ide
https://github.com/DeviceFarmer/stf_ios_support is a cool project, hard to set up
https://github.com/kavichki-test/ios-farm - similar to stf but unsupported project, as bonus article and chat
https://github.com/NetrisTV/ws-scrcpy web device control
any update for newer ios 16.3.1 and macOS Ventura? i have been trying these method but nothing helps
yep me too guys, any update? mostly on the other app's or other tools only can screen sharing not fully control the devices