ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Jessibuca 快速上手:5分钟从集成代码到跑通低延迟直播播放

Jessibuca 快速上手:5分钟从集成代码到跑通低延迟直播播放 Jessibuca 快速上手5分钟从集成代码到跑通低延迟直播播放【免费下载链接】jessibucaJessibuca 是一款开源的纯H5直播流播放器通过Emscripten将音视频解码库编译成Jswasm)运行于浏览器之中。兼容几乎所有浏览器可以运行在PC、手机、微信中无需额外安装插件。项目地址: https://gitcode.com/langhuihui/jessibucaJessibuca 是一款开源的纯 H5 直播流播放器通过 Emscripten 把 ffmpeg 音视频解码库编译成 WASM 运行在浏览器中无需安装任何插件即可在 PC、手机、微信内播放 H.264 / H.265 直播流延迟可做到 1 秒以内。本文带你 5 分钟完成集成从零配置到跑通低延迟直播播放。️ 先看原理Jessibuca 是如何做到低延迟的Jessibuca 的解码不依赖浏览器的video标签而是通过 websocket/http-flv 持续拉取直播流数据在 Web Worker 中用 WASM 软解码或由 MSE / WebCodecs 硬解出 YUV 画面与 PCM 音频画面用 WebGL Canvas 渲染音频交给 AudioContext 播放。Jessibuca H5 直播播放器的解码与渲染原理worker 中解码再送进 canvas 与 AudioContext解码库独立于主线程运行配合可设为 0.2s 甚至 0 缓冲的追帧机制才能实现“低延迟、长时间播放不累积延迟”。得益于 WASM 的高兼容性全球约 96% 用户使用 Jessibuca 的软解方案几乎可以运行在所有主流浏览器Jessibuca 依赖的 WebAssembly 在各浏览器中的兼容性软解基本全覆盖 5 分钟跑通直播播放第 1 步拿到 3 个离线文件从 demo/test-url.md 中下载开源版离线包dist.zip解压后只需关注 3 个文件文件作用jessibuca.js播放器业务代码页面引入decoder.jsWeb Worker 解码进程入口decoder.wasmWASM 解码库字节码⚠️重点decoder.js与decoder.wasm必须放在同一目录路径相对的是当前页面 URL。第 2 步引入 Jessibuca 并挂载容器Jessibuca 不支持 npm 安装直接用script引入参考 demo/public/MSE-demo.html。页面中准备一个指定宽高的div作为播放容器即可div idcontainer stylewidth:640px;height:360px;background:#000;/div script src./jessibuca.js/script第 3 步创建播放器实例关键配置const player new Jessibuca({ container: #container, decoder: ./decoder.js, // wasm 需与 decoder.js 同目录 videoBuffer: 0.2, // 缓冲秒数越小延迟越低 debug: true });按协议选择推荐配置来自 demo/document.md访问协议推荐参数http(s)-flvuseMSE: true, autoWasm: trueMSE 硬解 H.264不支持时自动回退 wasmhttps/wssuseWCS: true, autoWasm: trueWebCodecs 硬解 H.264其他常用参数operateBtns原子化配置底部工具栏播放/音量/截图/全屏/录制、showBandwidth显示码率、keepScreenOn移动端防息屏。完整参数见 demo/api.md。第 4 步调用 play() 开始拉流play(url)返回 Promise记得.catch()捕获异常。地址形如http(s)://host/hdl/live/test.flv或ws(s)://host/jessica/live/test.flvws 地址无.flv后缀时需加isFlv: true。完整示例可直接参考 demo/public/MSE-demo.html。第 5 步销毁播放器释放资源页面关闭或切走时调用await player.destroy()释放资源close()已废弃。player.destroy();到这里一个可以播放直播的 H5 播放器就跑起来了 ✅ 支持哪些直播协议Jessibuca 开源版支持 3 种直播协议均支持 https/wss 加密传输协议地址格式说明HTTP(S)-FLVhttp(s)://host/hdl/live/test.flv最通用需服务端配置 CORS 跨域头WS(S)-FLVws(s)://host/jessica/live/test.flvWebSocket 推流无跨域问题WS(S)-RAWws(s)://host/jessica/live/test私有裸数据协议传输量更小搭配 Monibuca 服务器编码格式支持 H.264、H.265wasm 软解H.264 还可走 MSE / WebCodecs 硬解。 常见问题快速排查黑屏 / 解码器加载失败先确认decoder.js、decoder.wasm与页面相对路径是否正确两者必须在同目录。有画面没声音浏览器自动播放策略默认静音需在用户点击/触摸手势中调用player.cancelMute()恢复声音。测试地址放错域名http/ws测试地址要用http://域名测试https/wss地址要用https://域名测试更多测试流见 demo/test-url.md。HTTP-FLV 报跨域错误服务端设置Access-Control-Allow-Origin响应头改用 WebSocket 协议可规避。播放异常定位错误值与Jessibuca.ERROR.*、超时值与Jessibuca.TIMEOUT.*常量比较见 demo/api.md。 继续深入官方文档与 FAQdemo/document.md完整 API 手册demo/api.md播放器源码src/player/index.js、解码器src/decoder/decoder.jsWASM 编译源码wasm/decoder.cpp掌握以上 5 个步骤你就能在自己的项目中快速接入 Jessibuca 低延迟直播播放器了 【免费下载链接】jessibucaJessibuca 是一款开源的纯H5直播流播放器通过Emscripten将音视频解码库编译成Jswasm)运行于浏览器之中。兼容几乎所有浏览器可以运行在PC、手机、微信中无需额外安装插件。项目地址: https://gitcode.com/langhuihui/jessibuca创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表