J5’s Blog

December 30, 2012

New Years wish list – GStreamer Support for Apple’s AirPlay mirroring

Filed under: Freedesktop, Gnome, Linux, video — J5 @ 9:03 pm

Yes I know, if there was an alternative I would use something with open codecs but there isn’t and for better or worse my office uses Apple TV and AirPlay mirroring to do demos and when I have to run the scrum meetings.  Having been the only holdout not to get a Mac and finding out that the iPad does not work as an effective VNC to AirPlay middle man, it would be nice to be able to connect natively from my Fedora laptop.  To wit I found unofficial documentation on the airplay protocols and it seems to be fairly easy to support but I have no clue of where to start in the gstreamer code.

Basically it is a bunch of HTTP calls to establish the stream and then it is simply a number of packets airplay headers consisting of either H.264 video stream (of the desktop), H.264 extra data or a heartbeat.  It also uses a separate port to do NTP time synchronization every 3 seconds.  Seems pretty straight forward and fun project for someone to get their hands dirty with.

Note, that I am also willing to help with this if someone can tell me what pads need to be created and how I would go about hooking them up to get the correct stream.  E.g. how do I do the http setup, hook in an NTP service and provide headers for h.264 streams and sync the whole thing up.  I also plan on writing the UI bits as a GNOME 3 plugin complete with avahi auto-discovery if we can get this working.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

Powered by WordPress