TUIPusher & TUIPlayer 是 Web 端开源的含 UI 直播互动组件。TUIPusher & TUIPlayer 集成 实时音视频 TRTC 、 即时通信 IM 等基础 SDK,为企业直播、电商带货、行业培训、远程教学等多种直播场景提供快速上线 Web 端直播推拉流工具的解决方案。
说明:TUIKit 系列组件同时使用了腾讯云 实时音视频 TRTC 和 即时通信 IM 两个基础 PaaS 服务,开通实时音视频后会同步开通即时通信IM服务。即时通信 IM 服务详细计费规则请参见 即时通信 - 价格说明,TRTC 开通会默认关联开通 IM SDK 的体验版,仅支持100个 DAU。
TUIPusher & TUIPlayer 的优势:
为了方便您快速体验 TUIPusher & TUIPlayer 的功能,我们结合用户管理系统和房间管理系统提供了 TUIPusher 体验链接 及 TUIPlayer 体验链接。
注意:同时体验 TUIPusher 和 TUIPlayer 需要使用两个不同的账号登录。
注意:部分浏览器不支持 WebRTC,只能使用标准直播线路观看,如需体验其他线路,请尝试更换浏览器。
注意:
- TUIPusher & TUIPlayer 基于腾讯云实时音视频和即时通信服务进行开发。实时音视频 TRTC 应用与 即时通信 IM 应用的 SDKAppID 一致,才能复用账号与鉴权。
- 即时通信 IM 应用针对文本消息,提供基础版本的 安全打击 能力,如果希望使用自定义不雅词功能,可以单击 升级 。
- 本地计算 UserSig 的方式仅用于本地开发调试,请勿直接发布到线上,一旦 SECRETKEY 泄露,攻击者就可以盗用您的腾讯云流量。正确的 UserSig 签发方式是将 UserSig 的计算代码集成到您的服务端,并提供面向 App 的接口,在需要 UserSig 时由您的 App 向业务服务器发起请求获取动态 UserSig。更多详情请参见 服务端生成 UserSig。
在 GitHub 下载 TUIPusher & TUIPlayer 代码。
为 TUIPusher & TUIPlayer 安装依赖。
cd Web/TUIPusher
npm install
cd Web/TUIPlayer
npm install
将 sdkAppId 和 secretKey 填入 TUIPusher/src/config/basic-info-config.js
及 TUIPlayer/src/config/basic-info-config.js
配置文件中。
本地开发环境运行 TUIPusher & TUIPlayer。
cd Web/TUIPusher
npm run serve
cd Web/TUIPlayer
npm run serve
可打开 http://localhost:8080
和 http://localhost:8081
体验 TUIPusher 和 TUIPlayer 功能。
可更改 TUIPusher/src/config/basic-info-config.js
及 TUIPlayer/src/config/basic-info-config.js
配置文件中的房间,主播及观众等信息,注意保持 TUIPusher 和 TUIPlayer 的房间信息,主播信息一致。
注意:
- 完成以上配置,您可以使用 TUIPusher & TUIPlayer 进行超低延时直播,如您需要支持快直播和标准直播,请继续阅读 步骤三:旁路直播。
- 本地计算 UserSig 的方式仅用于本地开发调试,请勿直接发布到线上,一旦您的
SECRETKEY
泄露,攻击者就可以盗用您的腾讯云流量。- 正确的 UserSig 签发方式是将 UserSig 的计算代码集成到您的服务端,并提供面向 App 的接口,在需要 UserSig 时由您的 App 向业务服务器发起请求获取动态 UserSig。更多详情请参见 服务端生成 UserSig。
TUIPusher & TUIPlayer 实现的快直播和标准直播依托于腾讯云 云直播服务,因此支持快直播和标准直播线路需要您开启旁路推流功能。
TUIPlayer/src/config/basic-info-config.js
配置文件中配置播放域名。完成以上配置,您可以体验 TUIPusher & TUIPlayer 支持超低延时直播,快直播以及标准直播的所有功能。
当您将 TUIPusher & TUIPlayer 用于生产应用时,在接入 TUIPusher & TUIPlayer 之外,您需要:
注意:
- 本文生成 UserSig 的方式,是在客户端根据您填入的 sdkAppId 及 secretKey 生成 userSig,该方式的 secretKey 很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量,因此该方法仅适合本地跑通 TUIPusher & TUIPlayer 进行功能调试。
- 正确的 UserSig 签发方式是将 UserSig 的计算代码集成到您的服务端,并提供面向 App 的接口,在需要 UserSig 时由您的应用向业务服务器发起请求获取动态 UserSig。更多详情请参见 服务端生成 UserSig。
TUIPusher/src/pusher.vue
及 TUIPlayer/src/player.vue
文件,将用户信息、直播间信息、SDKAppId 及 UserSig 等账号信息提交到 vuex 的 store 进行全局存储,您就可以跑通推拉流两个客户端的所有功能。详细业务流程参见下图:请参见 开启美颜。
请参见 屏幕分享。
实现快直播拉流的方式是通过 Web SDK 推流到 CDN 之后使用 WebRTC 协议拉流。
操作系统 | 浏览器类型 | 浏览器最低版本要求 | TUIPlayer | TUIPusher | TUIPusher 屏幕分享 |
---|---|---|---|---|---|
Mac OS | 桌面版 Safari 浏览器 | 11+ | 支持 | 支持 | 支持(需要 Safari13+ 版本) |
Mac OS | 桌面版 Chrome 浏览器 | 56+ | 支持 | 支持 | 支持(需要 Chrome72+ 版本) |
Mac OS | 桌面版 Firefox 浏览器 | 56+ | 支持 | 支持 | 支持(需要 Firefox66+ 版本) |
Mac OS | 桌面版 Edge 浏览器 | 80+ | 支持 | 支持 | 支持 |
Mac OS | 桌面版微信内嵌网页 | - | 支持 | 不支持 | 不支持 |
Mac OS | 桌面版企业微信内嵌网页 | - | 支持 | 不支持 | 不支持 |
Windows | 桌面版 Chrome 浏览器 | 56+ | 支持 | 支持 | 支持(需要 Chrome72+ 版本) |
Windows | 桌面版 QQ 浏览器(极速内核) | 10.4+ | 支持 | 支持 | 不支持 |
Windows | 桌面版 Firefox 浏览器 | 56+ | 支持 | 支持 | 支持(需要 Firefox66+ 版本) |
Windows | 桌面版 Edge 浏览器 | 80+ | 支持 | 支持 | 支持 |
Windows | 桌面版微信内嵌网页 | - | 支持 | 不支持 | 不支持 |
Windows | 桌面版企业微信内嵌网页 | - | 支持 | 不支持 | 不支持 |
iOS | 微信内嵌浏览器 | - | 支持 | 不支持 | 不支持 |
iOS | 企业微信内嵌浏览器 | - | 支持 | 不支持 | 不支持 |
iOS | 移动版 Safari 浏览器 | - | 支持 | 不支持 | 不支持 |
iOS | 移动版 Chrome 浏览器 | - | 支持 | 不支持 | 不支持 |
Android | 微信内嵌浏览器 | - | 支持 | 不支持 | 不支持 |
Android | 企业微信浏览器 | - | 支持 | 不支持 | 不支持 |
Android | 移动版 Chrome 浏览器 | - | 支持 | 不支持 | 不支持 |
Android | 移动版 QQ 浏览器 | - | 支持 | 不支持 | 不支持 |
Android | 移动版 Firefox 浏览器 | - | 支持 | 不支持 | 不支持 |
Android | 移动端 UC 浏览器 | - | 支持(仅支持标准直播观看) | 不支持 | 不支持 |
出于对用户安全、隐私等问题的考虑,浏览器限制网页在 HTTPS 协议下才能正常使用 TUIPusher & TUIPlayer 的全部功能。为确保生产环境用户顺畅接入和体验 TUIPusher & TUIPlayer 的全部功能,请使用 HTTPS 协议访问音视频应用页面。
注意:本地开发可以通过
http://localhost
协议进行访问。
URL 域名及协议支持情况请参考如下表格:
应用场景 | 协议 | TUIPlayer | TUIPusher | TUIPusher 屏幕分享 | 备注 |
---|---|---|---|---|---|
生产环境 | HTTPS 协议 | 支持 | 支持 | 支持 | 推荐 |
生产环境 | HTTP 协议 | 支持 | 不支持 | 不支持 | - |
本地开发环境 | http://localhost |
支持 | 支持 | 支持 | 推荐 |
本地开发环境 | http://127.0.0.1 |
支持 | 支持 | 支持 | - |
本地开发环境 | http://[本机IP] |
支持 | 不支持 | 不支持 | - |
在使用 TUIPusher & TUIPlayer 时,用户可能因防火墙限制导致无法正常进行音视频通话,请参考 应对防火墙限制相关 将相应端口及域名添加至防火墙白名单中。
在后续的迭代中, TRTC Web 端推拉流组件会逐渐与 iOS、Andriod 等各端连通,并在 Web 端实现观众连麦、高级美颜、自定义布局、转推多平台、上传图片文字音乐等能力,欢迎大家多多使用、提出您的宝贵意见。
如果有任何需要或者反馈,可以联系:colleenyu@tencent.com。
本页内容是否解决了您的问题?