简介

NodePublisher.js是基于Chrome94正式发布的WebCodecsAPI实现的网页推流工具。它可以采集摄像头麦克风数据并硬件加速编码为H264+AAC流,封装为websocket-flv,推流到NodeMediaServerV3上。实现chrome内核浏览器无插件、低延迟、高清视频直播。

特性

  • 支持硬件编码,1080、4k,30fps稳定流畅
  • 支持h264视频编码
  • 支持AAC音频编码
  • 支持Opus音频编码
  • 支持canvas处理摄像头后推流(AI、滤镜、水印、幕布等)
  • 支持音视频内容加密

计划

  • 支持AAC音频编码
  • 支持http-flv推流
  • 支持采集浏览器标签页做视频推流

限制

使用NodePublisher.js有如下限制:

  • chrome内核需要94及以上
  • 服务端需要对接NodeMediaServer,v3.3.8及之后版本
  • 需要https加载页面,才能访问摄像头麦克风
  • 需要以wss推流,NMS需要部署机构颁发的证书,以域名推流,或提前同意自签名证书

在线测试

需要先安装运行NodeMediaServer V3

捕获摄像头推流

https://demo.nodemedia.cn/uploads/nodepublisher.html

捕获canvas推流

https://demo.nodemedia.cn/uploads/nodepublisher_canvas.html

播放测试:

web播放使用NodePlay.js https://www.nodemedia.cn/doc/web/#/1?page_id=1

下载试用

https://cdn.nodemedia.cn/NodePublisher/0.2.1/NodePublisher_v0.2.1_trial.zip

安全提示

chrome浏览器对摄像头麦克风访问有权限控制

  • 以localhost加载web,可以用http地址,并推流到ws://
  • 除localhost加载web,必须以https访问,并推流到wss://
  • 如果nms服务端使用默认的自签名证书,需要先同意一次