2025年琢磨AirPlay的经历 Airplay简析

琢磨AirPlay的经历 Airplay简析iOS 4 3 出来的时候 苹果有了个神奇的功能 airplay 它可以神奇的将 iphone ipad 的音频传输到 appletv airport express 基座上 也可以将照片传输给 apple tv 通过 HDMI 投射到电视机上 这个不亚于当年 Mac os 支持双屏拖拽般神奇 那么这个技术是如何实现的呢 历史上没被苹果收购前 有个 airtunes 的开源协议库

大家好,我是讯享网,很高兴认识大家。


iOS 4.3出来的时候,苹果有了个神奇的功能airplay;它可以神奇的将iphone,ipad的音频传输到appletv, airport-express基座上;也可以将照片传输给apple tv通过HDMI投射到电视机上;
这个不亚于当年Mac os支持双屏拖拽般神奇.
那么这个技术是如何实现的呢?

历史上没被苹果收购前,有个airtunes的开源协议库,它可以实现随时随地的家庭音乐无线流媒体传输;
后来苹果收购了它,更名为airplay,airtunes升级到airtune 2版本(但是大体基于原有版本扩充),增加了视频,照片的传输,完整的变为airplay非开源功能.
作为一个轻度影音发烧友,音效的追求是永无止境的,吃得消的支出才是合理的;airplay作为家庭音乐的一个神器,必然想要收入囊中的.
那是不是必须要买apple TV?或者买airport express ?
两者价格都接近700,800;一个支持音视频;一个支持仅有音频,但是多出来一个双频路由器功能;
老实说,apple tv在美国很超值,但是无法越狱,谁会看和之又谐的youtube ?而且apple tv的越狱频率,远不如iphone ipad集万千宠爱于一身,砖家肯定不热衷越狱apple tv.

所以apple tv很不超值.但是,如何拥有airplay?
目前的现实解决方案,就是买支持airplay的音响设备;那我们目前可选的有Denon,Marantz,B&W,JBL,iHome;这些设备,我都听过;不得不说,真是蛋疼,一个个功能很挫,音质压根没达到起步水准.而面对家里的Bose135影院,我真是想瞬间给它插个airplay的翅膀.我想,很多家里已经有音响设备的,肯定希望就花一点点钱,就能实现airplay.

于是我就一头冲进去这airplay的世界.
好吧,科普一下,我们研究的是airplayreceiver,不是sender;所谓sender就是iphone 4s/ipad 2/3;

首先,ipad能在家庭无线网络里神奇般的搜寻到receiver;
搜到后,还能继续勾搭互联互通上;
基本推算出来的原理大概如此;

那么,搜到recevier并且确定receiverIP;那么肯定是用了bonjour服务;其实就是mDNS这个技术;mDNS就是mini DNS的意思;公网用网址域名对应IP,那么小网络怎么办?只能寄托mDNS,即很小的微型DNS,这个功能是由路由器代替实现的;


原理如下,每当有局域网的client申请路由器代为广播,谁需要airplay服务就找他;那这个client就向路由器申请mDNSservice,提供名字,功能类型,端口,等等;
然后路由器会有一个hash,存着各个client申请的service;
每当有client希望找到airplay的服务的时候,它就会去问路由器,谁提供airplay服务?路由器会表里查询,并且告诉你IP;
同理,airprint也是这个类似原理;


话说前段时间做一个huawe的外包;丫的弄了个android机顶盒,要我实现airplay;结果仔细一问,就是mDNS发现机顶盒服务;然后用TCP控制机顶盒;更搞笑的是,当我正儿八经拿着mDNS的代码跟机顶盒联调的时候,居然说机顶盒没实现mDNS,真是无语国内外包的发自内心的偷懒省事,不专业.

看文档得知,Apple TV一共publish两个服务;一个是airtunesROAP协议;一个是airplayservice,包含照片,视频,镜像;
好吧,下面代码演练一下;



NSNetService*publish=[[NSNetServicealloc]initWithDomain:@"local."type:@"_airplay._tcp."name:@"Jacob"port:7000];
小讯
上一篇 2025-03-15 15:40
下一篇 2025-02-14 10:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/53948.html