ruanyf / weekly

科技爱好者周刊,每周五发布
46.71k stars 2.84k forks source link

[工具自荐]zwplayer - 免费的H5播放器支持直接播放rtsp流、vue框架等众多特性 #4736

Open chenfanyu opened 3 months ago

chenfanyu commented 3 months ago

概述 zwplayer是一款基于HTML5的Web网页播放器,是一款简单易用的H5媒体播放器。zwplayer为 H5 视频播放应用开发者提供一个零成本、简单易用、具备丰富协议支持、功能丰富与界面美观的Web 播放器,以降低Web应用开发者的时间成本,加速项目进度。zwplayer为开发者完成一个Web播放器完整的操作界面开发,提供了一个跨浏览器一致性的操作界面。

众所周知,所有H5播放器的核心都是HTML5内置的video元素(包括audio元素),video元素本身提供了丰富的接口,但video元素并未提供令人满意的操作界面,video元素的许多内建功能(例如对Media Source Extensions的支持,对Webrtc的支持)都需要开发者自己学习摸索来进行开发调用。开发Web播放器主要工作就是操作界面开发,有些web 播放器提供可以分开的UI组件技术,试图通过提供丰富的API来让播放器使用者自己开发操作界面UI,我们认为如果一个web播放器没有提供一个可用的前端UI,即使将video元素的接口重新包装,输出各种功能丰富的所谓API(例如,著名的videojs),让开发者自己开发界面,还不如开发者自己基于video元素直接开发,避免因为用javascript这种脚本语言层层包装带来的性能损失,再者,开发者自己直接基于video元素自行开发,也可以免除学习那些播放器提供的重新包装过的API的时间成本。

因此zwplayer 的目标是挖掘video元素的内在丰富功能,试图为开发者提供一个具备完整操作界面并经过严格测试的产品级播放器,让开发者调用丰富的H5视频播放内核功能零时间成本。开发者使用zwplayer便无需自己研究video元素来开发界面,同时zwplayer也提供了许多video元素本身不具备的功能操作界面,例如多码流切换、多协议自适应、弹幕渲染等功能界面。zwplayer的原则不是对video元素接口进行二次包装后给开发者提供所谓的丰富API,zwplayer力图挖掘video元素的潜在功能提供一个统一完整的操作界面,zwplayer仅对部分需要交互数据的功能提供非常稀少的API(例如加载弹幕、字幕与章节打点),因此zwplayer暴露的接口方法一般都是为了实现video元素所不具备的功能,因此避免开发重复学习API。开发者自行开发出一个产品级的播放器,往往需要耗费大量时间与精力,采用zwplayer可以避免这些无畏的浪费,加速项目进度,提高产品稳定性。

名称含义 zwplayer 的全称为 Zero Web Player。Zero 的含义为零成本,zwplayer试图在以下方面给开发者降低成本。

零费用成本:

永久免费,完全免费,终生免费,无需为任何token或license支付费用。

零学习研发成本:

完整的内建UI功能界面,没有过多的API接口,无需额外自行开发操作界面。

零升级成本:

永久固化的API,不用担心后续升级需要修改代码,只要进行简单更新文件即可。

零风险成本:

没有任何联网后门,没有任何广告,没有任何使用情况统计代码。

零部署成本:

不依赖任何第三方库,代码干净纯洁,简单复制 zwplayer 发布包到网站相应子目录,即可完成部署,不依赖CDN,私网、内网(不连公网)都能用。

实用功能介绍 以下是zwplayer的实用功能(非技术特点)介绍,可能并不是完整的功能列表,部分功能特点分散在其它文档中介绍,请参考相关文档。

全功能播放器,支持点播流与直播流 点播流支持 MP4、hls、dash等协议播放 直播流支持:http-flv、hls、dash、http-ts等所有当前流行协议 支持webrtc低延时直播播放 支持 rtsp协议转发技术,能在H5网页里直接播放rtsp流 支持多码流(视频清晰度)切换,对 hls、dash 等协议支持多码流自适应切换 支持多种格式字幕,支持 vtt、srt、json与bcc 等格式的外挂字幕,支持hls、dash等流内嵌字幕的提取与选择控制 支持双字幕同时渲染(多语言字幕),用户随意选择需要显示的单个字幕或全部字幕 内建完整的弹幕支持,包含弹幕渲染与弹幕设置 支持预览缩略图,在播放进度条上滑动鼠标,可以预览视频内容 支持网页全屏、画中画与自动小窗口等播放操作界面 支持视频画面多角度旋转,包括正反转180度,正反转90度等 支持图像截取,支持截图直接上传功能 支持设置自定义logo 支持点播流速率调节 支持播放过程中问答弹出功能 支持点播节目章节(关键点)打点 支持自动播放预探测技术,完美解决当今浏览器未设置静音时自动播放操作在用户发起交互操作前失败的难题 支持禁止拖动播放进度 支持视频颜色属性调节,包括亮度、对比度、色调与饱和度 免插件调用,功能全内置,播放扩展协议无需手工设置插件,调用简单 开发调用简单,较少的API,整合简单容易,只需简单配置即可使用播放器 升级简单,永久固化的API,使后续升级只须简单替换文件即可,代码零改动 完全独立的库,无需其它第三方js库调用,不依赖于jQuery等任何第三方js库,集成简易 完全免费使用,没有任何限制,无论个人还是商业使用 非常容易集成,仅须引用一个js文件 轻量级高性能,所有外部扩展模块动态智能加载,不用到的不会预先加载,加速网页加载 可扩展的平台支持,多种编码、多种协议与跨浏览器跨平台 支持vue2,vue3

使用说明 使用帮助及下载