Screen casting/mirroring has come into existence, with Apple’s Airplay ( https://www.apple.com/in/airplay ). Apple provides Airplay APIs since long to its developers. And, as it was highly confidentially kept by Apple, so it was very-very difficult to provide this support on other platforms.
Initially, Shairport succeeded in this ( http://sourceforge.net/projects/shairport4w/). It supported Audio only.
Now, Google also provides the in-built support for same. https://developers.google.com/cast/
So, what you need for screen casting
1. A sender application, written for the Android, iOS, or Chrome platform which uses the following Cast APIs:
• Android API; for an overview, see Android Sender Applications
• iOS API; for an overview, see iOS Sender Applications
• Chrome API; for an overview, see Chrome Sender Applications
2. A receiver application that handles communication between the sender app and the receiver device. You have the following options:
• The Default Media Receiver presented with the Google Cast branding and styling.
• The Styled Media Receiver for which you can develop the styles and branding. See Styled Media Receiver.
• A custom receiver, as described in Custom receiver that implements the Receiver API and handles custom messages from your sender app; it may also interface with the media player types provided through the Media Player Library.
How you implement your receiver may depend upon which media types your application needs to support.
For further details, please check – https://developers.google.com/cast/docs/developers
For all above you will need a Chromecast device. So, what if we do not want to have this and want to screen cast directly? For this we will need to develop a Sender and Receiver both of our own.
So, can we really do this? Yes of course. If, you are interested please check – http://nto.github.io/AirPlay.html