微信小程序使用live-pusher和live-player实现视频直播

微信小程序使用<live-pusher> 和 <live-player>实现视频直播

微信<a href='/tag/miniprogram.html'>小程序</a>使用<live-pusher> 和 <live-player>实现视频直播附代码

本文通过使用微信小程序来做一个简单的直播与播放功能

第一、音视频直播小程序中有类目限制,限制如下:

微信<a href='/tag/miniprogram.html'>小程序</a>使用<live-pusher> 和 <live-player>实现视频直播附代码

我们可以登录小程序后台设置,修改类目

微信<a href='/tag/miniprogram.html'>小程序</a>使用<live-pusher> 和 <live-player>实现视频直播附代码
修改成功后进入小程序后台的开发-开发管理-接口设置 菜单中,我们把这下面二个开关打开

微信<a href='/tag/miniprogram.html'>小程序</a>使用<live-pusher> 和 <live-player>实现视频直播附代码

第二、开通通讯的云直播,新用户免费赠送20G流量

打开下面网址,https://curl.qcloud.com/RNFIVHBh 

微信<a href='/tag/miniprogram.html'>小程序</a>使用<live-pusher> 和 <live-player>实现视频直播附代码

注册登录后开通云直播


第三,设置直播播放的域名

进入云直播后台,选择域名管理

微信<a href='/tag/miniprogram.html'>小程序</a>使用<live-pusher> 和 <live-player>实现视频直播附代码

云直播默认赠送一个免费的二级推流域名,主要用于推流,但是直播播放域名需要增加自己的已备案域名

微信<a href='/tag/miniprogram.html'>小程序</a>使用<live-pusher> 和 <live-player>实现视频直播附代码

添加完域名后要在自己域名的管理后台添加cname解析,具体步骤可以参考这个 https://cloud.tencent.com/document/product/267/19908

域名解析设置完后,我们在域名管理中可以看到自己的推流域名与播放域名

微信<a href='/tag/miniprogram.html'>小程序</a>使用<live-pusher> 和 <live-player>实现视频直播附代码

点击推流域名的管理按钮,切换到推流管理标签

微信<a href='/tag/miniprogram.html'>小程序</a>使用<live-pusher> 和 <live-player>实现视频直播附代码

我们可以看到推流的主key和防盗key,这个要记下来,最下面还有生成推流地址url的代码,复制下来

第四、具体代码

php生成推流和播放地址url代码

/**
 * 获取推流地址
 * 如果不传key和过期时间,将返回不含防盗链的url
 * @param domain 您用来推流的域名,就是前面设置cname的自己域名
 *        streamName 您用来区别不同推流地址的唯一流名称
 *        key 安全密钥
 *        time 过期时间 sample 2016-11-12 12:00:00
 * @return String url
 */
function getPushUrl($domain, $streamName, $key = null, $time = null){
    if($key && $time){
          $txTime = strtoupper(base_convert(strtotime($time),10,16));
          //txSecret = MD5( KEY + streamName + txTime )
          $txSecret = md5($key.$streamName.$txTime);
          $ext_str = "?".http_build_query(array(
                "txSecret"=> $txSecret,
                "txTime"=> $txTime
          ));
    }
    return "rtmp://".$domain."/live/".$streamName . (isset($ext_str) ? $ext_str : "");
}
function getPlayhUrl($playdomain, $streamName){
    return "rtmp:/...

点击查看剩余70%

{{collectdata}}

网友评论0