新洲网站建设,aso平台,做it软件的网站,中企动力唐山网站建设跨平台 OTT PWA 应用开发#xff0c;最方便的当然是选用 video.js 库。但是既然是安卓平台#xff0c;exoplayer 看起来总是最稳妥的选择
介绍
Exoplayer 是 Android media3 的一个实现#xff0c;以前是独立出来的#xff0c;现在已经合并到 androidx.media3 中了。 Vid…跨平台 OTT PWA 应用开发最方便的当然是选用 video.js 库。但是既然是安卓平台exoplayer 看起来总是最稳妥的选择
介绍
Exoplayer 是 Android media3 的一个实现以前是独立出来的现在已经合并到 androidx.media3 中了。 Video.js 则是一个 js 库给它一个 video dom 元素它会把一系列操作挂上去并提供一个 manager 来管理从而获取 video 的状态和给 video 发送命令 二者都是老牌的播放器video.js 从 2010 年就有了使用它的产品很多exoplayer 更不用说google 开发维护的因此都具有
功能
ExoplayerVideo.jsDASH / HLS√√ (with videojs-contrib-dash、videojs-contrib-hls plugin)H.264(AVC) / H.265(HEVC)√H.264√H.265 仅在 IE 和 Safari 上 √Chromium×AAC / HE-AAC / AC3 / EAC-3 / AC4AAC HE-AAC AC4√AC3 EAC3 需要 FFmpeg 库AAC HE-AAC EAC-3√ AC3× AC4 无数据大概率 ×Widevine / PlayReadyWidevine(CBCS, CENC) on fmp4、PlayReady(CENC) on fmp4√ CMAF×PlayReady 仅在 Android TV 上 √√ (with videojs-contrib-eme plugin)TTML / SMPTE-TT / WebVTT√WebVTT√ 其他 ×SSAI√√ (with videojs-contrib-ads plugin)
数据源
https://developer.android.com/media/media3/exoplayer/supported-formats?hlenhttps://developer.android.com/media/media3/exoplayer/drm?hlenhttps://developer.android.com/media/media3/exoplayer/hlshttps://developer.android.com/media/media3/exoplayer/dash AC4:https://github.com/google/ExoPlayer/pull/5303https://videojs.com/html5-video-support/https://github.com/videojs/video.js/issues/7206https://videojs.com/guides/text-tracks/
首先看比较基础的功能dash 和 hls。video.js 可以通过插件进行支持exoplayer 本来就支持 视频编码由于 Chrome 不支持 H.265 视频编码导致 video.js 也不支持 音频编码video.js 也受制于 chrome drmvideo.js 也是有插件exoplayer 原生支持 字幕方面Exoplayer 支持情况较好video.js 只支持 webvtt ad主要是 SSAIvideo.js 用插件可以exoplayer 也可以
性能
使用 video.js 和 exoplayer 分别构建一个仅包含一个 player 的 app测试其 GPUCPUMemory视频流加载时间multi video 情况五项结果我把具体数据隐去了只说结论
GPU 方面二者总体帧率差别不大不过 exoplayer 大部分时间能稳在红线30 帧以下video.js 则在 30 帧徘徊大部分时间在红线往上CPU 方面平均值和最高点video.js 都是 exoplayer 的两倍左右内存占用方面video.js 也差不多是 exoplayer 的两倍视频流加载时间其实两个都有点慢video.js 比 exoplayer 更慢一点multi video用四个 exoplayer 播放四路视频流没什么问题但是 video.js 就不行了完全播不出来第二个