

简体中文
uni直播提供了推拉流、直播回放、直播统计等功能。本文档将指导您快速开始使用uni直播。
参考uni直播服务开通文档,了解如何开通uni直播服务。
使用uni直播服务前,您需要拥有至少一个已备案的域名。推流域名与拉流域名不能是同一个域名,但可以是同一域名下的两个不同子域名。
说明
push.example.com
pull.example.com
(以RTMP推流为例)
完成上一步骤后,在域名管理页面,您会看到推流域名和拉流域名的CNAME信息。
现在您需要在域名服务商处添加CNAME解析,将您的推流域名和拉流域名指向uni直播的CDN加速域名。
以下以阿里云为例,说明如何添加CNAME解析:
push
或 pull
)。可以通过阿里云网络拨测工具来验证您的CNAME解析是否生效。
输入您的推流域名或拉流域名,点击立即检测按钮,查看解析结果。
解析结果中应显示uni直播提供的CNAME地址,表示CNAME解析已成功生效。
由于原生浏览器的安全要求,若您需要在浏览器进行直播播放,您需要为推流、播放域名配置SSL证书,具体请参见
推流地址和拉流地址是用于推送直播流和拉取直播流播放的域名,您可以在uni直播控制台中生成,具体生成步骤如下:
uni-app和uni-app x 均支持使用 live-pusher 组件推流, 也可以在其他第三方推流软件中使用,详见
参考 uni-app live-pusher或uni-app x live-pusher组件文档,在您的应用中使用live-pusher组件进行直播推流。
<live-pusher
id='livePusher'
ref="livePusher"
class="livePusher"
url=""
mode="SD"
:muted="true"
:enable-camera="true"
:auto-focus="true"
:beauty="1"
whiteness="2"
aspect="9:16"
@statechange="statechange"
@netstatus="netstatus"
@error = "error"
></live-pusher>
<script>
export default {
data() {
return {}
},
onReady() {
// 注意:需要在onReady中 或 onLoad 延时
this.context = uni.createLivePusherContext("livePusher", this);
},
methods: {
statechange(e) {
console.log("statechange:" + JSON.stringify(e));
},
netstatus(e) {
console.log("netstatus:" + JSON.stringify(e));
},
error(e) {
console.log("error:" + JSON.stringify(e));
},
start: function () {
this.context.start({
success: (a) => {
console.log("livePusher.start:" + JSON.stringify(a));
}
});
},
close: function() {
this.context.close({
success: (a) => {
console.log("livePusher.close:" + JSON.stringify(a));
}
});
}
}
}
</script>
在uni-app 中,小程序端使用live-player组件进行直播拉流;web/app端,使用video组件进行直播拉流。
在uni-app x中,app端和小程序都使用live-player组件进行直播拉流。
注意
<live-player
src="rtmp://pull.example.com/live/streamName"
autoplay
@statechange="statechange"
@error="error"
style="width: 300px; height: 225px;"
/>
<script>
export default {
methods:{
statechange(e){
console.log('live-player code:', e.detail.code)
},
error(e){
console.error('live-player error:', e.detail.errMsg)
}
}
}
</script>
您可以在uni直播控制台或者使用uni直播扩展库生成这些地址。
泛指直播音视频数据的传输,它能够被作为一个稳定的和连续的流通过网络传输给观众观看。
直播地址中的URL域名,通过URL域名进行直播业务VDN分发和加速,域名类型分为RTMP推流、RTMP播放、HLS播放、TS切片、HDL播放及直播封面域名。
指主播通过业务服务端从直播云平台获取到的推流地址,将采集的流媒体通过推流地址实时的推送至直播云接收端。
拉流是指通过直播云平台到用户指定的源站拉取直播流的过程。
业务服务端从直播云平台获取到RTMP协议的URL地址,用来进行直播推流及加速。
指观众在观看直播时,播放器使用的播放地址,亦指播放端拉流地址。
通过对推流、播放及对直播流相关处理的URL进行加密,验证用户访问权限。
直播转码是将视频码流转换成另一个视频码流功能。通过转码,可以改变原始码流的编码格式、分辨率和码率等参数,从而适应不同终端和网络环境的播放。以适配不同的网络带宽、不同的终端处理能力、不同的延时要求,满足不同的用户需求。
H.264是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT)提出的,高度压缩数字视频编解码器标准,同时也是MPEG-4第十部分。拥有低码率、图像质量高、容错能力强和网络适应性强等优点。
H.265是ITU-T视频编码专家组(VCEG)继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。
RTMP
RTMP(Real-Time Messaging Protocol)是一种用于音视频数据传输的协议,广泛应用于直播推流。
SRT
SRT(Secure Reliable Transport)是一种低延迟、高可靠性的传输协议,适用于直播推流。
WHIP
WHIP(WebRTC HTTP Ingest Protocol)是一种基于HTTP的推流协议,适用于WebRTC直播推流。
RTMP
RTMP(Real-Time Messaging Protocol)是一种用于音视频数据传输的协议,广泛应用于直播拉流。
HLS
HLS(HTTP Live Streaming)是一种基于HTTP的流媒体传输协议,适用于直播拉流。
FLV
FLV(Flash Video)是一种基于Flash的流媒体传输协议,适用于直播拉流。
DASH
DASH(Dynamic Adaptive Streaming over HTTP)是一种基于HTTP的自适应流媒体传输协议,适用于直播拉流。
WHEP
WHEP(WebRTC HTTP Egress Protocol)是一种基于HTTP的拉流协议,适用于WebRTC直播拉流。
SRT
SRT(Secure Reliable Transport)是一种低延迟、高可靠性的传输协议,适用于直播拉流。