视频OBS推流直播

适用场景:使用OBS推流进行视频直播

 

主要过程:

前提:项目添加livevideo直播模块,下载及使用OBS软件

1 )申请直播间并设置OBS:

用户先申请成为主播,审核成功后,再申请直播间,审核后分配给用户一个唯一的直播间.(用户直播是一直使用一个直播间,只是更换视频推流)

根据分配的直播地址和密匙设置OBS

2 )开始直播:

用OBS进行直播推流

3 )用户观看直播:

用户选择直播间观看直播

 

具体流程如下图所示:

 

具体操作如下:(本地不能测试,要发布到外网上测试)

一、申请直播间并设置OBS的操作:

1.申请成为直播,申请直播间可根据项目自定义视口或使用livevideo模块的视口(livevideo/rest/apply.json :主播申请视口,livevideo/rest/studio/create.json :创建直播间)

 

2.调用livevideo/rest/mystudio/detail.json视口(视口参数:id 直播间id)获取直播设置服务器(obs)和串流密匙(tokss),在OBS推流上设置推流服务器和密匙配置,如下图所示

 

 

3.OBS推流工具的下载与使用:

友情链接: OBS使用方式: http://www.wware.org/pg/train/obs.html

 

二、开始直播后使用OBS推流,点击开始推流就可进行直播:如下图所示:

 

 

三、用户选择直播间观看直播:

 

1.在直播页面上添加视频播放器并设置直播模式和自动播放,如下图所示:

 

 

2.在视频播放器元素上添加属性绑定:{"data--state":play,"data--vsrc":studio7addr,"data-x-currenttime":vtime,"data-x-state":ping,"data-x-errorcode":ec}和css样式绑定{"hide":zbzt()!="1"||err()=="1"||qbzt()=="1"},给变量进行初始化:{"play":"pause","studio7addr":"","zbzt":"","qbzt":"","vtime":"","ping":"","ec":""} 如下图所示:

 

 

 

3.在视频播放器元素上添加绑定数据编程:选择其他事件: videofail,videoNoCompatible ,添加绑定数据编程:

_vm.qbzt("1");//视频播放器不支持视频格式或无法找到此视频兼容的源,即没有直播时显示内容

如下图所示

 

 

 

4.添加一个定时器元素,在定时器元素上操作(不想处理主播直播异常中断事件可不添加定时器元素)

1)在定时器元素上添加两个定时器,如下图所示

 

 

2)定时器元素上添加属性绑定:{"data--intervalcontrol":intervalcontrol},并给变量进行初始化:{"intervalcontrol":"[]","time":"a","vtime":0,"err":"","spjz":""},如下图所示

 

 

3)在定时器元素上添加绑定数据编程:选择其他事件: interval1.ww ,添加绑定数据编程:

如下图所示

 

 

 

5.根据直播间id查询直播间表,返回播放地址:studio7addr 和启动定时器intervalName1; 即进入页面就可观看直播视频