以服务于中国广大创业者为己任,立志于做最好的创业网站。

标签云创业博客联系我们

导航菜单

直播系统搭建好干吗 短视频直播系统定制方案

  

  如今很多商家开始通过小程序的直播功能来销售商品,引导用户消费,一些商家取得了很大的成绩。众所周知,并不是每个商家都能从线下成功转型到线上。他们有货,却没有开发小节目的人才,更别说在小节目上开直播系统了。   

  

     

  

  其实这个问题并不难,   

  

  随着小节目的快速发展,很多第三方音视频服务商纷纷开始服务,帮助商家开通小节目直播系统。比如目前已经和各商家达成合作的zego即时通讯技术,在帮助商家直播小节目的道路上,逐渐完善了服务,帮助他们获得了大量的利润。很多心切的商家都对这个过程感兴趣,即如何帮助商家搭建小节目直播系统。让我们和作者一起看看实现过程。   

  

  集成   

  

  1 准备环境   

  

  确保开发环境满足以下技术要求:   

  

  l微信开发者工具已安装。   

  

  l使用微信小程序基础库2.3.0及以上版本(否则不支持音视频播放录制组件)。   

  

  2集成软件开发工具包   

  

  从官网下载 SDK   

  

  请从ZegoExpress-MiniProgram下载软件开发工具包。   

  

  版本历史更新,请查看:小程序JS SDK的历史更新日志。   

  

  l解压下载的文件包,复制到小程序项目所在的文件夹。   

  

  使用要求将软件开发工具包引入项目:   

  

  集成   

  

  功能实现   

  

  软件开发工具包是1\. 初始化 SDK,之后如果你想使用软件开发工具包的功能,你需要初始化软件开发工具包。   

  

  集成   

  

  2\. 登录房间   

  

  需要在登录房间前设置房间相关的回调,以便在成功登录房间后接收到房间相关的事件通知,如处理因网络中断而退出房间等问题。   

  

  2.1 设置房间相关回调   

  

  在开发阶段,ZEGO提供了一个只用于测试环境获取token的接口。当它正式启动时,令牌逻辑必须由开发人员的业务服务器来实现。   

  

  (登录令牌请参考登录房间认证。)   

  

  2.2 获取登录 token   

  

  直播过程中,如果需要推送自己的图片,需要执行推送操作。   

  

  3 推流   

  

  微信小程序中的推送功能需要使用ZEGO的小程序直播插件提供的ZEGO-Pusher标签。   

  

  3.1 组件说明   

  

  成功登录主播室后,根据业务逻辑准备推送流程。使用SDK执行流播放需要以下步骤:   

  

  l触发推流。   

  

  l调用SDK的startPublishingStream获取streamID对应的推流地址。   

  

  l将步骤2中获得的推流地址设置为zego-pusher的url。   

  

  l获取推流组件的实例,然后调用实例的开始记录视频。   

  

  3.3.2 开始推流事件的处理。   

  

  微信小程序会在zego-pusher的bindstatechange的绑定方式中通知推送状态事件,开发者需要进行如下操作:   

  

  在bindstatechange绑定的回调函数中,调用SDK提供的updatePlayerState API,将推送事件传输给SDK。   

  

  l在SDK提供的publisherStateUpdate回调中处理推送流的启动和失败状态。   

  

  l微信小程序会在zego-pusher的bindnetstatus的绑定方式中通知推送网络事件,开发者也需要在对应的小程序回调中调用。   

  

  UpdatePlayerNetStatus将推送事件传输到SDK。   

  

  3 推流   

  

  要停止推送流,开发人员需要执行以下操作:   

  

  l调用SDK提供的stopPublishingStream(streamID)清除推流状态。   

  

  l调用zego-pusher实例提供的stop来停止推送流。   

  

  3.4 停止推流   

  

  直播过程中,如果想观看房间内其他成员的推流图片,需要进行拉流操作。   

  

  4 拉流   

  

微信小程序中的拉流流功能,需要用到插件提供的 zego-player 标签。

  

4.2 开始拉流

  

观众登录房间成功后,根据业务逻辑准备拉流。使用SDK拉流播放需要执行如下步骤:

  

l 触发拉流。

  

l 调用 SDK 的 startPlayingStream 获取streamID对应的播放地址。

  

l 将步骤 2 中获取的推流地址设置为 zego-player 的 url, 流ID设置为sid。

  

l 获取拉流组件实例,然后调用实例的play 播放视频 或者设置拉流组件的 autoplay 属性为 true,实现自动拉流。

  

4.3 拉流事件处理

  

微信小程序会在 zego-player 的 bindstatechange 绑定的方法中通知出拉流状态事件,开发者需要执行如下操作:

  

l 在bindstatechange 绑定的回调函数中,调用SDK提供的updatePlayerState API将推流事件透传给 SDK。

  

l 在 SDK 提供的onPlayStateUpdate 回调中处理播推、拉流的开始、失败状态。

  

l 微信小程序会在zego-player的bindnetstatus

  

绑定的方法中通知出拉流网络事件,开发者也需要在对应的小程序回调中,调用updatePlayerNetStatus将推流事件透传给 SDK。

  

4.4 停止拉流

  

停止拉流,开发者需要执行如下操作:

  

l 调用 SDK 提供的stopPlayingStream(streamid)清空拉流状态。

  

l 调用zego-player提供的stop停止推流。

  

5 退出房间

  

调用如下logoutRoom退出房间。请开发者在退出房间前,确保停止推拉流,并清理相关状态。(详情请看官网)

  

6 配置微信公众平台域名

  

ZEGO分配给开发者的URL(包含 HTTPS、WSS 协议),需要在微信公众平台进行“合法域名”配置后,小程序才能正常访问。

  

微信后台配置地址:微信公众平台 -> 设置 -> 开发设置 -> 服务器域名。

  

请开发者将 ZEGO 分配的请求域名,按照协议分类,填到指定的 request合法域名或者 socket合法域名中。

  

以上便是小程序直播系统搭建的完整过程了,即构科技官网上还有完整的示例源码可参考,有兴趣了解一番的话,可登录他们的官网去研究一下。