判断设备是否支持 HEVC/H.265,选择性地加载 H.265 或 H.264 视频文件,是否可行?

2017-12-26 18:36:54 +08:00
 islujw

iOS 11 和 macOS High Sierra 已经支持 HEVC 视频编解码播放了,这种视频相比 H.264 文件更小,如果能在 web 上使用,也能提升网页加载效率。

判断设备是否支持,从而加载不同的两个视频文件,是否能实现?

要求优先级:从简。例如若 CSS 能实现,就不用 JS ;若原生 JavaScript 能实现,就不用其他 JS。

可以想到的是用 JS 判断设备型号,不过这应该是最次的办法了,自适应性不强。不知各位有何高招?

5429 次点击
所在节点    JavaScript
6 条回复
Flygoat
2017-12-26 18:53:09 +08:00
UA 看 WebKit 版本呗
islujw
2017-12-26 18:54:44 +08:00
@Flygoat 嗯,那非 WebKit 内核的呢? HEVC 貌似和硬件能力也有一些联系的。
inflationaaron
2017-12-26 21:13:06 +08:00
这个 js 判断不了,你还得考虑是否硬解,8bit/10bit 等等很多情况。
xingwing
2017-12-26 21:15:24 +08:00
从 sdp 里看
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
...
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 不支持

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/417818

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX