最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Airplay协议研究(含shairport交叉编译、移植与调试)

IT圈 admin 36浏览 0评论

2024年3月24日发(作者:嬴雪冰)

AIRPLAY协议

一、介绍

AIRPLAY是由苹果公司实现的一套协议族,用来实现在Apple TV上浏览

iPhone、iPod touch、iPad(硬件设备)或者iTunes(软件)中的各种媒体内

容。 AirPlay支持如下几种使用场景:

 从iOS设备上传输并显示照片、幻灯片;

 从iOS设备或者Itunes软件中传输并播放音频;

 从iOS设备或者Itunes软件中传输并播放视频;

 对iOS设备或者OS X Mountain Lion进行屏幕镜像。由于此功能需要硬

件的硬解码支持,所以只能在iPad 2、iPhone 4S、带Sandy Bridge CPU的Mac

电脑(或更新的设备)上支持。

最初这套协议名字叫AirTunes,只支持音频流播放。 后来苹果开发Apple

TV时,对此协议进行了扩充和改进,加入了视频支持,并改名叫做AIRPLAY。

AIRPLAY协议基于一些知名的网络标准协议,如Multicast DNS、HTTP、RTSP、RTP

或NTP以及其他的一些自定义扩展。

由于我们只关注音频部分,所以下面研究的重点是AirTunes服务。

二、实现机制

实现AIRPLAY协议的软件不需要再做任何配置就能发现同一网络中的相关设

备,这主要得益于Bonjour(基于M-DNS协议实现)

Bonjour:苹果为基于组播域名服务(multicast DNS)的开放性Zeroconf标准

所起的名字。

Zeroconf (零设置网络标准):全称为Zero configuration networking,中

文名则为零配置网络服务标准,是一种用于自动生成可用IP地址的网络技术,不

需要额外的手动配置和专属的配置服务器。“零配置网络”的目标,是让非专业用

户也能便捷的连接各种网络设备,例如计算机,打印机等。整个搭建网络的过程都

是通过程式自动化实现。如果没有zeroconf,用户必须手动配置一些服务,例如

DHCP、DNS,计算机网络的其他设置等。这些对非技术用户和新用户们来说是很难

的事情。

具体例子为:用户拥有一台apple tv和一台iPhone4s,那之只要都连入到

同一个无线局域网内,iphone4s就会自动找出apple tv,那么在播放音乐或者视

频时候,用户只要点击推送,就可以讲音乐和视频推送到apple tv上播放。

除了Bonjour以外,实现Zeroconf协议的还有Avahi和howl。

下面以AirTunes服务为例来具体看是如果实现服务发现的。首先发布RAOP

(Remote Audio Access Protocol )服务,其格式如下:

name字段由设备的MAC地址和远程设备的名称组成(通常就在客户端上显示

此设备名称)

TXT参数中包含以下字段:

2024年3月24日发(作者:嬴雪冰)

AIRPLAY协议

一、介绍

AIRPLAY是由苹果公司实现的一套协议族,用来实现在Apple TV上浏览

iPhone、iPod touch、iPad(硬件设备)或者iTunes(软件)中的各种媒体内

容。 AirPlay支持如下几种使用场景:

 从iOS设备上传输并显示照片、幻灯片;

 从iOS设备或者Itunes软件中传输并播放音频;

 从iOS设备或者Itunes软件中传输并播放视频;

 对iOS设备或者OS X Mountain Lion进行屏幕镜像。由于此功能需要硬

件的硬解码支持,所以只能在iPad 2、iPhone 4S、带Sandy Bridge CPU的Mac

电脑(或更新的设备)上支持。

最初这套协议名字叫AirTunes,只支持音频流播放。 后来苹果开发Apple

TV时,对此协议进行了扩充和改进,加入了视频支持,并改名叫做AIRPLAY。

AIRPLAY协议基于一些知名的网络标准协议,如Multicast DNS、HTTP、RTSP、RTP

或NTP以及其他的一些自定义扩展。

由于我们只关注音频部分,所以下面研究的重点是AirTunes服务。

二、实现机制

实现AIRPLAY协议的软件不需要再做任何配置就能发现同一网络中的相关设

备,这主要得益于Bonjour(基于M-DNS协议实现)

Bonjour:苹果为基于组播域名服务(multicast DNS)的开放性Zeroconf标准

所起的名字。

Zeroconf (零设置网络标准):全称为Zero configuration networking,中

文名则为零配置网络服务标准,是一种用于自动生成可用IP地址的网络技术,不

需要额外的手动配置和专属的配置服务器。“零配置网络”的目标,是让非专业用

户也能便捷的连接各种网络设备,例如计算机,打印机等。整个搭建网络的过程都

是通过程式自动化实现。如果没有zeroconf,用户必须手动配置一些服务,例如

DHCP、DNS,计算机网络的其他设置等。这些对非技术用户和新用户们来说是很难

的事情。

具体例子为:用户拥有一台apple tv和一台iPhone4s,那之只要都连入到

同一个无线局域网内,iphone4s就会自动找出apple tv,那么在播放音乐或者视

频时候,用户只要点击推送,就可以讲音乐和视频推送到apple tv上播放。

除了Bonjour以外,实现Zeroconf协议的还有Avahi和howl。

下面以AirTunes服务为例来具体看是如果实现服务发现的。首先发布RAOP

(Remote Audio Access Protocol )服务,其格式如下:

name字段由设备的MAC地址和远程设备的名称组成(通常就在客户端上显示

此设备名称)

TXT参数中包含以下字段:

发布评论

评论列表 (0)

  1. 暂无评论