如何支持h.265视频

前言

h.265视频

h.265是一种视频编码格式。
随着视频编码技术的发展,相比H.264, H.265同等画质体积仅为一半、带宽占用省一半、画质更细腻等诸多优势。 但Web浏览器还不支持H.265的解码播放,因此基于Web Assembly(封装FFmpeg)、JS解封装、Canvas投影以及AudioContext实现Web端的H265播放。

关于 chrome video 是否支持 h.265

简单理解:

  1. 早期 chrome 支持H265硬解,现在 chrome 支持 H265 硬解
  2. 截止到2023年10月,chrome 只支持H265硬解,不支持软解
  3. 如果你是个 web 开发人员,那你遇到的情况是:有客户跟你说,我这里视频打不开(客户的电脑硬件不支持 H265 硬解)。你测试了一下,可以打开(你的电脑硬件支持 H265 硬解)。你有找了机台电脑测试了一下,有的能够打开(不支持 H265 硬解),有的不能打开(支持 H265 硬解)。

结论:如果不是chrome浏览器版本太旧的原因,基本可以确认,不能播放H265视频的原因是系统显卡不支持H265视频硬件解码,所以无论给系统装什么解码库,都是没有用的,chrome浏览器只会调用系统硬件做H265硬解,系统上装什么H265解码库,那都是软解,chrome不会去调用的,这在前面引用中已经提到过了。
参考这里:解决chrome浏览器不能播放H265视频播放问题(1是windows系统显卡不支持H265硬件解码,2是浏览器和操作系统之间可能存在兼容性问题(浏览器版本太旧))DXVA Checker、GPU-Z

我怎么知道是不是电脑硬件的问题?

参考这里:解决chrome浏览器不能播放H265视频播放问题(1是windows系统显卡不支持H265硬件解码,2是浏览器和操作系统之间可能存在兼容性问题(浏览器版本太旧))DXVA Checker、GPU-Z

怎么办呢?

chrome浏览器只会调用系统硬件做H265硬解,系统上装什么H265解码库,那都是软解,chrome不会去调用的,所以无论给系统装什么解码库,都是没有用。

如果是web应用,则需要应用、浏览器、显卡同时支持H265视频,缺一不可。目前应用不用做什么(因为浏览器已经支持),浏览器已经支持,显卡用户可以想办法,因此可以这样试试:

  1. 升级显卡驱动,看看是否可以。
  2. 升级显卡,应该可以。
  3. 升级电脑设备,肯定可以。

H265视频点播

使用 HTML 即可。
如果HTML 不满足需求时,可换用同样支持H265的第三方组件。

H265视频直播

使用 HTML 即可。
如果HTML 不满足需求时,可换用同样支持H265的第三方组件。

EasyPlayer.js

  • https://github.com/tsingsee/EasyPlayer.js
  • https://www.tsingsee.com/
  • https://www.tsingsee.com/easyplayer/
  • https://www.npmjs.com/package/@easydarwin/easyplayer

EasyPlayer.js H5播放器,是一款能够同时支持HTTP、HTTP-FLV、HLS(m3u8)、WS视频直播与视频点播等多种协议,支持H.264、H.265、AAC等多种音视频编码格式,支持mse、wasm等多种解码方式,支持Windows、Linux、Android、iOS全平台终端的H5播放器,使用简单, 功能强大。

hello-muiplayer.js

  • https://github.com/muiplayer/hello-muiplayer
  • https://gitee.com/muiplayer/hello-muiplayer
  • https://muiplayer.js.org/
  • https://muiplayer.js.org/zh/

MuiPlayer 致力于提供完备的 HTML5 视频开发解决方案。它基于 GPL 许可协议,使用它后默认也需要遵守许可协议中约定的义务。
MuiPlayer 支持 mp4、m3u8、flv 等多种媒体格式播放,解决大部分兼容问题,同时适应在PC、手机端播放。

h265web.js

  • https://github.com/numberwolf/h265web.js

HEVC/H.265 网页直播/点播播放器 支持硬解! 支持H.265的HttpFLV/HLS/MP4/TS/FLV/M3U8/Websocket播放。
市场上能找到的支持的能力最多的HEVC/H.265网页播放器.

video.js

  • https://github.com/videojs/video.js/
  • https://gitee.com/mirrors/video-js

Video.js是一款专为HTML5世界打造的网络视频播放器。它支持HTML5和Flash视频,以及YouTube和Vimeo (通过插件)。它支持在台式机和移动设备上播放视频。这个项目是在2010年中期开始的,现在这个播放器已经在超过400,000个网站上使用。

flv.js

  • https://github.com/Bilibili/flv.js
  • https://gitee.com/mirrors/flv-js

Flv.js 是 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发,没有用到 Flash。

hls.js

  • https://github.com/dailymotion/hls.js
  • https://gitee.com/mirrors/hls-js

hls.js是一个JavaScript库,可实现HTTP Live Streaming客户端。 它依靠HTML5视频和MediaSource扩展进行播放。

它通过将MPEG-2传输流和AAC / MP3流转换为ISO BMFF(MP4)片段来工作。 如果在浏览器中可用,可以使用Web Worker异步执行此转换。 WWDC2016期间宣布,hls.js还支持HLS + fmp4。

hls.js不需要任何播放器,它可以直接在标准HTML 上运行。

mxreality.js

  • https://github.com/guoguicheng/mxreality.js
  • https://www.covideo.cn/

mxreality.js是一款支持普通视频,全景VR视频,直播普通视频,直播全景视频,支持hls,flv,webrtc直播协议,支持全景图的h5播放器,支持cubemap视频和图片。

  • 免费版支持:h264
    • 免费版支持:h264,h265

参考

h265player开发
Chrome已实现对H.265/HEVC的硬解支持
如何看待新版Chrome浏览器支持H265视频播放?
解决chrome浏览器不能播放H265视频播放问题(1是windows系统显卡不支持H265硬件解码,2是浏览器和操作系统之间可能存在兼容性问题(浏览器版本太旧))DXVA Checker、GPU-Z
支持H.265网页播放的H5播放器EasyPlayer.js发布了
H5视频播放器video.js
【手撕代码】H.265的高清播放器
h265视频流播放前端实战
chrome硬解码265的方案
关于支持h265 + http-flv直播流网页播放器实现低延时直播播放器MXPlayer介绍
nginx-rtmp-ffmpeg-flv支持h265数据
【疑难解决】H265编码流媒体播放器EasyPlayer.js播放HLS H265视频流,遇到黑屏如何排查?

你可能感兴趣的:(视频直播,JavaScript,组件,h.265)