5

I am developing an iOS application, where i need to share my iOS application screen converted as network packets into another server destination. I can use socket programming for sending and receiving network packets. But, i want to know, how can it be possible to convert my iOS app native screen (view) to packets? For ex: In windows desktop, its achieved by RDP and video driver converts desktop screen to packets.

Please advise if anyone come across working on such thing.

Thank you.

Getsy.

Getsy
  • 4,887
  • 16
  • 78
  • 139
  • Hmm... I doubt you'd get an API for that on iOS. Is transferring [screenshots](http://stackoverflow.com/questions/5538080/capturing-of-screen-shot-starting-from-0-0) acceptable? Then you'd be sending images. – Shinigami Nov 18 '13 at 18:52
  • Hi Shinigamani, Yeah, if no api provides to support packet transferring, then need to look for screenshot streaming methodology. Will it fast? How can i do that way? – Getsy Nov 25 '13 at 09:48
  • Do you use IOSurface private framework to capture screen? What's the frequency of screen capture? Based on that I may be able to suggest.. – TorukMakto Nov 26 '13 at 10:01
  • I assume you mean capture the entire screen, even when the app is closed/you are playing with other apps. That's not possible with public APIs, you can only get a snapshot of your own app. – SomeGuy Nov 28 '13 at 10:43
  • Hi, I want to do screen sharing of my app screens only, not the any other app. – Getsy Nov 29 '13 at 19:13
  • Hi Bugivore, This should work like a VNC for example. Whatever i open screens in my app will be streamed to the other end of destop or web app module. – Getsy Nov 29 '13 at 19:14
  • How about to convert `UIView` in a `UIImage`and then upload it over http? – dcorbatta Nov 30 '13 at 04:08
  • Hi Shinigami, Need more information on screenshot streaming for supporting screen-sharing capabilities(including touch/edit controls) of my iOS app views by a desktop/web app. How can i achieve it? – Getsy Dec 09 '13 at 20:14
  • Hi @Getsy, I may be late but you can capture screenshot of your app convert that image into some data format and send that data to server and convert back that data to image and show there. This links might help you . http://stackoverflow.com/questions/2200736/how-to-take-a-screenshot-programmatically http://stackoverflow.com/questions/3610604/how-to-take-a-screenshot-of-the-iphone-programmatically?lq=1 – Sarju Jul 20 '15 at 16:32
  • Hi, did you manage to solve this, I currently have a working solution, however it requires to much bandwidth to send screenshots one by one. See my question here http://stackoverflow.com/questions/37346884/ – Jakkra May 21 '16 at 11:24

1 Answers1

1

iOS has native support to mirror the screen to a remote display. It is called AirPlay Mirroring.

It would be very hard to provide a similar experience trying to bypass iOS. You would have to run in the background. You would have to do some sort of video compression combined with streaming. Apple doesn't give you enough control over their H.264 hardware compressor.

There are multiple products out there to receive the your iOS screen. For example: http://www.airsquirrels.com/reflector/ or http://www.airserver.com/

If you want more control on the receiving side you could write your own AirPlay receiver. I'd start here: http://nto.github.io/AirPlay.html#screenmirroring

Markus Schumann
  • 7,636
  • 1
  • 21
  • 27