优酷土豆等在线视频一般都是基于flash和flv来实现的,而众所周知,iOS不支持flash,那么为啥在IOS网页里面可以播放优酷土豆的视频呢?
原因在于HTML5。ios的浏览器如safari等,支持html5的video标签,video标签是可以嵌入在线视频进行播放的。
所以,在线视频的网站会针对iOS做出兼容性处理,通过user-agent来判断用户来源,如果是iOS用户,则用video标记来替代传统object,其src是源地址(不是flv,而是ts包装的源,m3u8是个文本文件,其中指定了进一步的ts地址,包括一些视频分段参数等);对于其他用户,则出于兼容性和功能性考虑,依旧使用swf播放器。
一些第三方网站嵌入调用的youku视频在ios上无法播放,是因为第三方网站没有对其做上述的兼容性判断切换为video标签。
大家可以去看看HTML的video标签,其实挺简单的。这两天在看在线直播的如何用HTML5实现。欢迎探讨。