前端如何硬解 HEVC/H265?

2020-04-09 15:57:36 +08:00
 kitten23

场景是 websocket 收视频数据,然后解码播放。 目前使用 wasm 软解,有性能瓶颈。单线程解码的话,i5 级别的 cpu 在 2Mbps 、2k 的视频就估计解不动了。

有没有什么可以硬解的方案?

7464 次点击
所在节点    程序员
16 条回复
noe132
2020-04-09 16:12:52 +08:00
如果浏览器支持硬解的话,大概关键字 mediasource objecturl

https://stackoverflow.com/questions/50333767/html5-video-streaming-video-with-blob-urls/50354182
coderluan
2020-04-09 16:22:05 +08:00
前端是运行在浏览器之上的,并不能直接访问硬件,所以基本只能调用浏览器的硬解,性能就那样,没啥提升的空间。还有一个曲线的办法是安装本地解码器,然后通过浏览器插件的方式调用。
Cooky
2020-04-09 16:23:52 +08:00
webgl ?
kitten23
2020-04-09 16:32:16 +08:00
@noe132 当时就是因为浏览器不支持 HEVC,用不了 MSE,才用的 Wasm 软解
kitten23
2020-04-09 16:36:06 +08:00
@coderluan 曲线方案都做了,目前希望能在浏览器里直接打开页面播放。有没有什么接口能尝试下?
kitten23
2020-04-09 16:36:39 +08:00
@Cooky 渲染 yuv 数据的时候是用的 webgl,解码指望不上
kokutou
2020-04-09 16:36:47 +08:00
视频再弄 h264 的,264 浏览器硬解支持的设备多。。
VDimos
2020-04-09 16:38:10 +08:00
硬解这个得浏览器支持才行的吧
tojonozomi
2020-04-09 16:40:19 +08:00
这个得看浏览器的支持程度吧,现在 chrome 的就 vp9 ?
ffmpeg 转编码到 264 然后喂 MSE 也不是不行?不过性能要求应该很爆炸,可以考虑 preset 用快速方案
coderluan
2020-04-09 16:44:44 +08:00
@kitten23 可以装本地解码器,那样是能在浏览器页面播放的,我见过这个实现,好像是 divx 公司的,具体接口就没研究过了。
ccFox
2020-04-09 18:42:08 +08:00
不知道您这边是做什么类型产品,或许可以考虑一下 VP9 ? VP9 可以 Chrome 硬解。
Xdh129
2020-04-09 18:42:54 +08:00
Chrome/旧版 Edge 支持在线硬解 8k@60fps VP9 视频,FireFox 只能软解🤔
zhw2590582
2020-04-09 19:28:10 +08:00
见过这方面的解码库,但现在就要求浏览器播放 h265 显然不合理,还是后端再转一次吧
jim9606
2020-04-10 03:42:01 +08:00
我觉得要在不支持 HEVC 的浏览器上强行解码 HEVC 也太强人所难了。
不知道你的 wasm 是用哪里的方案,搜了这篇文章( https://zhuanlan.zhihu.com/p/73772711 ),里面是用改过的的 ffmpeg 编译的,好像看性能还可以的样子?
我个人觉得就算不能硬解也尽量用浏览器支持的编码,例如 VP9,好歹浏览器会带一个针对平台优化过的软件解码器。
sunqixiaoxixi
2020-04-30 19:25:12 +08:00
我用 libde265 编过 wasm 版本,但是在高码率或者高分辨率时解码表现太差,还是回到 h264 作罢,也许 wasm 能支持多线程的话会有更多想象空间
Shepherdog
2020-11-05 14:29:03 +08:00
目前 WebAssembly SIMD 已进入提案,如果未来有 wasm + ffmpeg 此方面的优化版本,1080p 的解码效率估计能达到可用状态(>25fps )。

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

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

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

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

© 2021 V2EX