之前有分享过rtmp和m3u8的直播,后来才有了哔哩哔哩开源的flvjs做,于是就出现了ios不兼容的问题。
目前开发的直播有:
rtmp:依赖flash
flv:依赖浏览器支持flv
hls:video可以直接打开播放
直播对延迟很看重,rtmp和flv差不多,都很快,而hls延迟很大。性能方法,hls反而是最好的,rtmp性能耗费的也比flv大。
chrom年底要移除flash了,现在的直播应该也很少用falsh了,所以哔哩哔哩就开发了flvjs。flvjs解析文件让video可以直接播放,去除对flash的依赖。
flvjs可以说是很好的一款插件,但是你能查到的文章几乎都是对flv的使用,从来没有提到一点,那就是ios不支持。我用ios手机打开B站直播,发现要下载flash。这是最坑的一点了,github上面也只是提到了需要依赖Media Source Extensions。而对于现在ios在移动端的比例,做不到抛弃ios的用户。
flv的原理是获取到FLV格式的音视频数据后通过原生的JS去解码FLV数据,再通过Media Source Extensions API 喂给原生HTML5 Video标签。怎么使用就不想说了,随便都能查到。今天主要是想强调不兼容IOS,在选型的时候希望考虑一下,或者再去好好找一些资料,验证到底能不能兼容IOS。
(完)