iOS 11 和 macOS High Sierra 已经支持 HEVC 视频编解码播放了,这种视频相比 H.264 文件更小,如果能在 web 上使用,也能提升网页加载效率。
判断设备是否支持,从而加载不同的两个视频文件,是否能实现?
要求优先级:从简。例如若 CSS 能实现,就不用 JS ;若原生 JavaScript 能实现,就不用其他 JS。
可以想到的是用 JS 判断设备型号,不过这应该是最次的办法了,自适应性不强。不知各位有何高招?
1
Flygoat 2017-12-26 18:53:09 +08:00
UA 看 WebKit 版本呗
|
3
inflationaaron 2017-12-26 21:13:06 +08:00 via iPhone
这个 js 判断不了,你还得考虑是否硬解,8bit/10bit 等等很多情况。
|
4
xingwing 2017-12-26 21:15:24 +08:00 via iPhone
从 sdp 里看
|
5
liuxu 2017-12-26 22:11:04 +08:00
楼上方法可行,用 js 原生函数,查看 sdp 下的 m=video 中有支持的视频编码格式
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 124 127 123 125 107 108 a=rtpmap:96 VP8/90000 a=rtpmap:102 H264/90000 ... |
6
MinonHeart 2017-12-27 20:19:59 +08:00
Media Capabilities - Decoding Info API
https://developers.google.com/web/updates/2017/12/chrome-63-64-media-updates Chrome 64 才支持,WebKit 不支持 |