我在IOS上的Webview中使用标准的YouTube iFrame播放器here。一切都按预期工作,除了视频在宽带网络上加载一直需要6秒钟。当我使用Safari在同一网络上的Youtbue.com上加载完全相同的视频时,使用相同的iPad,视频会在3秒内持续加载。
有谁知道为什么IOS Webview视频需要两倍的加载时间?
或者YouTube(由谷歌拥有)故意在网站上加载视频比使用播放器api的应用更快吗?
关于我的方法的其他几个数据点: 1)我只测量在我的应用中加载视频的时间,而不是加载webview,甚至是包含Youtube iframe的webview中的html页面。我在webview加载Youtube iFrame后开始测量。 2)Youtube应用程序与使用Safari的YouTube网站类似。我假设Youtube App使用Webview。 3)结果似乎在不同的日子有所不同。 YouTube网站和应用视频平均来说速度更快,但数量会因天数而异。
答案 0 :(得分:0)
我觉得"(由谷歌拥有)"评论提出了一些我不相信存在的改变者动机。
这里可能有几个不同的问题:
1)您似乎正在使用Mobile Safari测试Youtube.com,并使用网络视图测试嵌入式播放器:
这不是一个公平的比较,因为webview被证明比safari慢得多。 (例如http://www.guypo.com/mobile/ios-browsers-speed-bakeoff/)
2)您没有明确说明您正在测量的加载时间
您是否在此时创建了Web视图并设置了浏览器环境?
您是否在此时加载包含嵌入式播放器代码的脚本标记的文档?
在您加载视频时,Safari是否为youtube.com提供了热门缓存?
在点击加载页面之前,许多浏览器会在您键入时在后台开始加载请求 - 这些性能调整可以显着缩短加载网站的时间,但难以进行比较。
3)他们优化的常见用户故事是不同的
在几乎所有将YouTube播放器API插入网页或网站的情况下,视频不会自动开始播放。
相比之下,几乎每个 YouTube观看页面加载都会自动开始播放视频。
YouTube之前在演示文稿中讨论的优化之一是将视频流的第一部分插入页面甚至在视频播放器加载之前。
这是额外用户带宽的折衷,可以实现更快的视频播放,当您知道用户肯定会播放视频时这是有道理的:但如果他们要为嵌入式视频执行此操作,那么它会显着减慢加载时间对于那些并不总是开始播放视频的玩家来说 - 这是世界上所有网站中相当大的比例!
4)YouTube参与了两个案例的不同阶段,并且只能在以后为嵌入式播放器开始优化体验。
YouTube可以使用他们的html5播放器API在youtube.com上对第三方网站/应用无法做进行优化。
如果您在youtube.com上观看视频:YouTube会直接参与第一个http请求 - 他们知道您正在播放哪个视频,并且他们知道您说的是哪个浏览器(因此可以优化体验)尽可能预加载正确的视频和/或视频播放器。)
在嵌入iframe的情况下: