人见百态 发表于 2015-1-5 14:08

解析ATV的无线传输速率,以及Airplay和播放卡顿问题



首先说明一下本文的主要要点,主要是通过客观测试大家来了解ATV的无线传输真正能力及实际应用,特别是很多朋友误解的5Ghz提高ATV速度的这种盲知
本文会多次提到Mbps及M/S、K/S单位,了解网络常识的都知道Mbps/8=M/S这个换算单位

好了,切入正题,为了验证ATV无线传输实际能力,测试设备及环境如下:
硬件篇:
1、Apple TV2
2、Linksys E4200(提供5Ghz 450Mbps及2.4Ghz 300Mbps的带宽)
3、PC
软件篇:
1、Apple TV2越狱
2、Linksys E4200默认官方固件(保证传输最大效率,减小测试误差)
3、PC安装WINSCP(例如SSH底层传输协议,减小测试误差)

硬件登场:

为了保证测试误差最小化,Apple TV2紧挨着E4200

路由器设置:

路由器2.4Ghz和5Ghz都开启,其中OneAP是2.4Ghz的SSID,HomeAP是5Ghz的SSID

首先进行2.4Ghz测试

Apple TV设置好WIFI连接(2.4Ghz的OneAP)

在PC端通过WINSCP传输一个大约1G左右文件到Apple TV

大约速度为2.65M/S

ok,下面是大家最关心的5Ghz下的实际情况

Apple TV设置到WIFI连接(5Ghz的HomeAP)

传输同样大小的文件:

大约速度为2.66M/S

呵呵,不要疑惑,其实我说过无数次了,2.4Ghz和5Ghz的差别不是速度,而是频段不一样,主要作用是用来防止干扰

迷惑者继续往下看,Apple TV的硬件分析

在Apple TV2上的WIFI被接到一块松下的小板上,WIFI部分是博通的BCM4329XKUBG,其中Bluetooth蓝牙模块由松下IC来负责,而博通BCM4329芯片规格是802.11n,物理传输速率为65Mbps(与2.4Ghz和5Ghz毫无关系)


在Apple TV3上的WIFI部分是博通的BCM4330XKUBG,相对于BCM4329XKUBG的变化是双天线设计,集成Bluetooth蓝牙模块,而其中一根天线是蓝牙混合天线,而芯片规格方面,依然是802.11n,物理传输速率为65Mbps(与2.4Ghz和5Ghz毫无关系)

SO,一些朋友请勿再凭自己的臆想,说ATV要速度快就配高速路由器,还有说要大内存路由器的云云,更是无稽之谈,2.6M/S这么鸡肋的速率还需要大内存来处理?????

那上面测试到的2.6M/S的速度换算为Mbps,应该为2.6*8=20.8Mbps,没有达到65Mbps??呵呵,不要着急,20.8Mbps*3=62.4Mbps是不是很接近了,65Mbps是理论最大速度,只有在实验室状态下才会极度接近。
所以我们也了解,基于802.11x无线速度要换算为802.3x有线以太网速率的公式大致为65Mbps/3/8=2.7M/S(这个3倍是一个无线折损率,当初推出802.11n 300Mbps协议时,发布组织标明的是替代有线100Mbps的方案,实际传输真实在12M/S左右,只是发布者没有标明这个折损率,导致各大无线厂商直接宣称300M来误导消费者,不过300Mbps的无线速率确实能承载1080P的负载)

-----------------------------------------视频解析篇-------------------------------------------

从前面得到ATV的最高传输速率为2.6M/S,那么2.6M/S看视频是否就卡呢?下面我们就围绕2.6M/S这个基准来做视频篇

首先我们要明确的是视频的格式和码率,格式为编码格式,而编码格式很大程度取决于压缩比,例如VC-1,X264等编码,而码率就是一个非常重要的指标了,它直接影响了播放视频所需性能的核心指标。
首先,码率越高画质越好这点无容置疑,特别是在大尺寸的显示设备上,码率高能呈现更多的画面细节,通俗讲就是越高清。而码率高就会牵涉到几个方面的性能要求,读写速率,当片源是网络传输的时候,这个读写速率就是网络传输速率,第二点就是处理器和内存,目前内存速度和容量已经不是瓶颈,而桌面级的处理器也远远能够胜任解码的能力。
下面我们实例来看看一个码率的呈现,我们用PC的Kmplayer或者potplayer打开一个MKV文件,播放时按下键盘Tab键,立刻可以呈现实时的编码信息,解码器,帧数,声道,码率等详细信息,这里我们只关心码率。

下面这个例子,大家都记得《变形金刚2》中老威和柱哥在丛林里打斗那段IMAX画面吧,画面16:9,清晰震撼,这里的码率也是刚刚的。

运气好刚好截取到一个峰值段,30087.4Kbps,折算一下30087.4/1000=30.09Mbps
再折算为传输率30.09Mbps/8 = 3.76M/S (这里没有除以3,因为这个码率信息肯定是以有线以太网的速率单位为基础而非无线)

虽然这里瞬间峰值达到了30.08Mbps,但是整片大部分码率还是在10-20Mbps左右。

下面看看码率表:(这个码率图在很多PT站的种子资源介绍里都有)

一部较高码率的720P片源,平均码率在20Mbps左右,上下波动分别到36Mbps和3Mbps


一部较高码率的1080P片源,平均码率在30Mbps左右,上下波动分别到47Mbps和3Mbps
这里就不列举蓝光原盘的码率了,完全不适合ATV

为什么有峰值码率出现这个不用再讨论,需要补充的一下,目前来自互联网的在线直播高清全部是均码压制(后来又优化有微均码,就是容许在恒定码率基础上微小上下浮动),也就是码率恒定不变,也就是为什么很多在线高清站点,在你网速正常的情况下,只要宽带带宽够就能够一直播放,如果是动态高码率,就真的玩完了。

那么真高清片这么高的码率,对比ATV只有可怜的2.6M/S=20.8Mbps的速率岂不是很难胜任?
这里还有一个因素,播放器机制,现在的播放器都很聪明,在播放前会建立一个缓冲区,缓冲区有两种机制来混合建立:
1、时间单位,一般为10秒的缓存区,下限为5秒,也就是说当缓冲区内容低于5秒时,会立即重新缓冲填满10秒
2、容量单位,这个系数很难确定,我们暂定位20M的缓冲区,下限为10M,低于10M时重新缓冲填满20M

然后就很简单可以理解了,缓冲区对于均码类的片源能够很好的胜任(这类片源类似RMVB之类,也被高清玩家视为伪高清,山寨高清),如果是动态高码率,这个缓冲区就很难说了,例如下一个10秒出现了2-3个35Mbps的峰值,高出缓冲区很多,那么影片会立刻暂停开始缓冲

而还有一个方面就是来自处理器的,因为Apple TV的A系列处理器毕竟远没有桌面级处理器那么强大,所以遇到高码率的时候负载也相当大,会解码吃力,表现为画面卡主,顿

所以我们判断就有了依据,如果出现缓冲,多半是网络带宽不足,如果画面卡,顿,就是这部片源解码压力偏大。

最后再说一点就是实际体验,这个是最真实的,抛开上面的技术理论,还有两点:
1、器材因素,同样一部720P的低码率片源,在iPad这种尺寸和50寸电视机上播放效果不可同日而语,而如果是高码率,因为iPad的尺寸太小,也很难感受到高清的细节
2、人为因素,这个就很实际了,因人而异,有些人在50寸电视机上播放极低码率的片源都觉得清晰无比,有些人即使在iPad尺寸上都能分辨出不同码率片源带来的细节差别


-----------------------------------------AirPlay解析篇-------------------------------------------

AirPlay可能是最多人关心的问题,但是AirPlay受影响的因素太多,所以需要逐一分析。

首先我们还是从数据传输角度来看,也就是AirPlay到底需要多大的传输量。

首先iPad AirPlay镜像到TV默认是1024*768分辨率,我们就以这个单位为基准
画面传输分为有损和无损,而有损的压缩比是以无损为基准来衡量的,所以我们先做无损画面测试

这是一张1024*768的静态图片:


其实它的信息是可以在无损计算方式下是可以量化的,见下图:

我们从其中一个像素中得到颜色信息6F2C09,这个就是基础的像素储存信息
然后16进制的颜色信息6F2C09(3个字节Byte),转换为图片储存格式的2进制大约占用1.14Byte
OK,我们来计算1.14*1024*768/1000 = 896.5KB

为了验证我们的算法,我们把该图片存为BMP(无损)格式的图片,再另外做一张同样分辨率,但是是纯色的BMP图片


很接近了,而且我们发现,当储存格式为无损输出的时候,不管画面复杂还是简单,容量大小只和画面的分辨率有关系

那么换为有损压缩呢?来看看同样的图片存为JPG格式:

呵呵,发现差异非常大,画面有损压缩的算法很多,有基于优化容量的有基于优化画质的,这里就不细细阐述了。

那么可能有人会问,90.KB的容量对于ATV 2.6M/S不是小很多嘛,怎么AirPlay还是卡?
这里我们忽略了一个原则,单张的画面只是静帧,而我们日常使用中的画面都是动态序列,而通常在电影播放时采用的是1秒钟24帧的速度,在游戏中更高,基础简单画面都要30帧,复杂的游戏更需要达60帧左右。看下图:

那么按照90KB*60FPS = 5.4M/S,高达ATV 2.6M/S的两倍多?应该是完全卡死了???
也不能完全这么算,因为JPG只是传输压缩的一种算法,而对于游戏,有着更优秀的引擎来达到更优秀的算法,尽量接近传输率小幅度高于2.6M/S来传输,所以就像我们日常的情况,感觉有卡顿,但是不是说卡死那种。(这里是排开其他的一切因素,包括处理器性能,游戏本身质量等)

那为什么游戏会采用这么高的帧数而不用电影的24帧呢,这个主要是视觉差,对于常规人眼的闪频极限来说24帧就可以接近真实事件的时间线了,而游戏很大的特性是画面用来操作的,如果一个游戏采用24帧来制作,实际使用总感觉不流畅,大大降低了游戏的体验程度。

然后又有些人说,我AirPlay电影一点也不卡啊,非常流畅,这里又需要区分一下AirPlay镜像和AirPlay
看下图:

注意看iPad的屏幕,其实这个就是AirPlay而非AirPlay镜像,这个时候iPad处理的不是把画面传输给ATV,而是把电影的播放地址传输给ATV

再看这图:

这就是AIrPlay镜像了,iPad的画面始终和ATV传输给TV的画面同步一致。

ok,还有人会问,我ATV已经有线连接了,怎么还是卡呢?我们看问题要全面性,一个AirPlay的完整应用不光是ATV本身
看下图:

从上图我们可以明显的看出,即使ATV接入有线,但是iPad的无线65Mbps是无法改变的(而且iPad更不可能接有线),那么看见在大水管里流量依然是和小水管均等的65Mbps

我们谈完了相关的传输瓶颈分析,还需要牵涉到两点
1、处理器性能,有些极个别的游戏优化的AirPlay,可以使用iPad当做遥控器,画面在TV上显示,这样的流程ATV还充当了部分的计算作用(把iPad渲染好的3D数据显示出来),如果遇到画面负载,iPad端或者ATV端任何一端的处理器性能负载大,立马会出现卡顿现象
2、还是处理器性能,这个性能可能会牵涉到路由器的处理器,毕竟AirPlay镜像是苹果的一套无线传输算法,经过测试,我的Linksys E4200在Qos中开启WMM(一种基于802.11e的媒体传输优化协议),AirPlay镜像就卡顿,而关闭WMM选项后就会相对流畅许多,但是这里不要误解为只有苹果的路由器对AirPlay支持最好,因为毕竟这块儿的影响幅度是最小的,远远没有上面分析的网络传输瓶颈和画面运算的幅度大,而苹果也不会傻到让只有自家的路由器才优化AirPlay,那样不被美国用户骂死才怪,况且随着IOS近几次的升级版本,都是在提高AIrPlay的稳定性(官方说法为稳定性,其实就是加强对第三方路由器的兼容性)

最后还是说一点就是实际体验,这个是最真实的,抛开上面的技术理论,还有两点:
1、器材因素,路由器有一些影响,但是这里主要是指N年前的54Mbps或者更低的路由器,体验是很糟糕的
2、人为因素,这个就很实际了,因人而异,有些人对于1-2秒的延迟都觉得是流畅的,有些人对于0.1-0.2秒的延迟都能敏感察觉出来

-----------------------------------------路由器配置篇-------------------------------------------

综上所述,我想大家应该明白,配置一个高速的路由器,功能强大的路由器,稳定品质的路由器绝对不是来改善你AIrPlay体验的,除非你真的是N年前的54M的路由器,所以想通过升级路由器来大幅提升AirPlay体验的同学请不要再抱有幻想!

那我们抛开上面的因素,应该理性的选择路由器。方案很多,有选品牌的,有选性价比的,都符合自身的需求
首先是品牌路由器,以思科、网件为全球第一老厂,多年沉淀的技术肯定不是忽悠的,后起之秀Apple,华硕等也不错。
再者就是高性价比的国产Dlink,TPlink等,便宜的价格,优秀的性能。
但是这里有个误区大家不是很清楚,认为好的路由器信号就强大,那么你就完全错了,像思科,网件这些路由器厂商,其产品的WIFI发射功率是严格按照欧盟标准制作的。他们的产品核心是在有效的网络覆盖面积中达到最高传输效能和稳定性。而国产的厂商不需要遵守欧盟标准,一味的加大发射功率,所以就延伸出穿墙王,信号王之类的产品。而发射功率超过了芯片本身设计标准后其稳定性就会下降,发热也会增高,所以这个是把双刃剑。

那么选什么路由器好呢?这个不要问我,自己多看看路由器的评测网站,其中的一些无线传输性能和有线传输性能看看是否满足你家里的情况,再仔细规划
说到无线传输性能,好像不久前看到有人说,iPad 65Mbps, ATV 65Mbps,用150Mbps的路由器,两者加起来130Mbps,差不多刚好够,这完全是盲知,试问一个300Mbps的路由器,连接上一个配有300Mbps无线网卡的笔记本,那么再有一台iPad连接进来就只有0Mbps?这不是鬼扯蛋嘛。路由器的300Mbps是指路由器提供的带宽是300Mbps,而不是流量300Mbps!!

既然好的路由器对AirPlay体验提升微乎其微,那还有必要配置好的路由器吗?
答案是根据你家里的情况来确定,如果家里有有线设备,无线设备数量也比较多,局域网传输的数据量频繁而量大,不需要一个优秀的路由器来承载吗?

题外话,一开始已经充分证明,无线路由器的2.4Ghz,5Ghz技术只是频段的区别,5Ghz频段使用少,可以抗干扰(这个也是相对的,除非你家里有10个以上的2.4Ghz设备才有干扰的情况),所以不要再闹双频路由器的5G比2.4G快的笑话了,可能一些朋友在实际使用中发现2.4Ghz和5Ghz连接速率不一样,这个属于测试环境不纯净造成的。还有就是芯片设计方案的兼容性等等。

呵呵,废话有点多了,全文完!!

hao501802766 发表于 2015-1-5 14:11

很给力,ZNDS有你更精彩!

殊藜 发表于 2015-1-5 14:16

强烈支持楼主ing……

shenrujie123 发表于 2016-4-26 21:32

感谢分享,ZNDS有你更精彩:)

shenrujie123 发表于 2016-4-26 21:32

{znds6}{znds6}{znds6}{znds6}{znds6}{znds6}

freedom10011 发表于 2019-1-27 20:17

回复看看呢

江南青花鱼 发表于 2019-1-31 20:35

又见一个好帖,果断先马克mark收藏了!

wangdongwdd 发表于 2020-4-14 22:26

楼主威武啊,ZNDS有你更给力!

wangdongwdd 发表于 2020-5-24 15:52

又见一个好帖,果断先马克mark收藏了!posttime=1590306763

wangdongwdd 发表于 2020-5-26 19:26

又见一个好帖,果断先马克mark收藏了!posttime=1590492396
页: [1] 2
查看完整版本: 解析ATV的无线传输速率,以及Airplay和播放卡顿问题