推荐一款开源的纯H5直播流播放器
今天给大家推荐一款开源的纯H5直播流播放器,他就是Jessibuca。
Jessibuca是一款开源的纯H5直播流播放器,通过Emscripten将音视频解码库编译成Js(ams。jswasm)运行于浏览器之中。兼容几乎所有浏览器,可以运行在PC、手机、微信中,无需额外安装插件。功能支持解码H。264视频(Baseline,Main,HighProfile全支持,支持解码B帧视频)支持解码H。265视频(flvid12)支持解码AAC音频(LC,HE,HEv2Profile全支持)支持解码PCMA音频以及PCMU音频格式可设置播放缓冲区时长,可设置0缓冲极限低延迟(网络抖动会造成卡顿现象)支持智能不花屏丢帧,长时间播放绝不累积延迟。可创建多个播放实例程序精简,经CDN加速,GZIP压缩(实际下载500k),加载速度更快同时支持httpflv和websocketflv协议以及websocketraw私有协议(裸数据,传输量更小,需要搭配Monibuca服务器)注:以httpflv请求时,存在跨域请求的问题,需要设置accesscontrolalloworigin,websocketflv默认不存在此问题支持HTTPSWSS加密视频传输,保证视频内容传输安全手机浏览器内打开视频不会变成全屏播放特点
无插件:基于MediaSourceWebAssembly(wasm)实现的纯JavaScript直播播放器
低延时:能够在PCAndroidiOS浏览器Webview内实现2秒以内低延迟直播播放
自带控制条:可以通过配置显示隐藏底部控制条
支持创建多个播放实例:支持创建多个播放实例,WebWorker多核解码,提升多画面播放性能。
支持多种视频缩放模式:支持填充,等比,等比缩放3种视频缩放模式
支持音量调节:支持01的音量调节
支持H264H265:软解码H。264H。265AACPCMAPCMU流,WebGL视频渲染,WebAudio音频播放。
支持MediaSource硬解码:支持MediaSource硬解码H。264视频。(SafarioniOS不支持)
支持Webcodecs硬解码:支持Webcodecs硬解码H。264视频。(需在chrome94版本以上,需要https或者localhost环境)
支持视频录制:支持录制MP4和WebM格式的视频录制。(基于MediaRecorder)。
本地测试执行yarn或者npmi执行yarndev或者npmrundevAPI
API源码目录结构obj存放emscripten编译好的ffmpeg解码库的字节码库demopublic存放编译输出的js和wasm文件src存放js源码打包js
执行yarnbuild或者npmrunbuild引用关系
srcindex。js引用了jessibuca。js和worker。js目的是将两个js打包到一起,实际执行中会根据当前是否为主线程来判断是否加载worker线程(把自己加载到webworker中)worker。js会引用demopublicff。js(该文件由编译C文件所得,用于加载wasm)编译C代码
执行yarnbuild:wasm或者npmrunbuild:wasm基本原理
欢迎点赞转发关注!大家的支持是我分享最大的动力!!!