首页 > 编程知识 正文

腾讯云互动直播,腾讯直播操作流程

时间:2023-05-06 13:08:07 阅读:276715 作者:2534

一、直播中必知的rtmp协议、推流和拉流相关概念

1、关于rtmp协议
rtmp:

RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。RTMP与HTTP一样,都属于TCP/IP四层模型的应用层。

多种变种:

RTMP工作在TCP之上,默认使用端口1935RTMPE在RTMP的基础上增加了加密功能RTMPT封装在HTTP请求之上,可穿透防火墙RTMPS类似RTMPT,增加了TLS/SSL的安全功能

2、拉流和推流


接一个直播必须理解拉流和推流概念。

推流:比如,你在斧牙开了一个直播,摄像头一直对着人或屏幕进行录制,在这个过程中,就是往服务端里进行推流。

拉流:和推流相反,拉流就是你在看别人直播的过程中,页面上播放的视频就是从服务端进行的拉流。

二、举个栗子

下面举个例子来说明一下推流和分流的相关概念:

看下斧牙直播的直播类型:

1、PC端推流:

捕捉屏幕推流直播:

摄像头推流直播:

2、安卓和IOS推流

下面再看下拉流的几种形式:

3、web端拉流


4、Android端拉流


三、腾讯云拉流推流实战操作

腾讯云有免费的40G流量供我们玩耍,搜索云直播并进入。需要添加一个推流域名和拉流域名。推流域名会给我们提供,我们只需要配置一个拉流域名即可。

推流域名直接添加即可,下面操作下拉流域名的配置:

1、进入到域名管理


2、选择播放域名,添加一个自己已经备案好的域名。


3、复制cname

添加好后有个感叹号,将里面的cname复制到你的域名供应商。

4、打开你供应商平台(阿里云、腾讯云、百度云等)的域名解析列表,将cname配置到指定域名的记录值中即可。

5、稍等十分钟左右,就会变绿了

这时候,推流域名和播放域名(拉流域名)就配置好了,下一步就是来生成推流域名和拉流域名提供给客户端就行啦

生成推流域名和拉流域名


腾讯云直播域名配置管理界面也提供了生成方式,直接填入StreamName即可生成!

或者也可以使用官方提供了一个php版本的生成方式:

/** * 获取推流地址 * 如果不传key和过期时间,将返回不含防盗链的url * @param domain 您用来推流的域名 * 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 : "");}echo getPushUrl("123.test.com","123456","69e0daf7234b01f257a7adb9f807ae9f","2016-09-11 20:08:07"); 特别提醒:播放地址的StreamName和推流地址的StreamName必须一致。

至此,推流地址和播放地址就能生成了,我们将这俩地址提供给客户端即可!

四、进行直播测试

由于博主经济条件有限,只有一个手机,只能通过手机推流,电脑拉流来进行测试。

首先测推流,我用uniapp组件里的一个推流demo实现了推流:


推流成功后,开始拉流,提供一个线上的拉流平台,这样,用一个手机就能测了。


至此,推流拉流的工作就实现啦。剩下的都是一些逻辑处理了,开房间,弹幕,刷礼物等……

五、总结

推荐一个php方面的七牛云和腾讯云直播sdk,里面封装了一些东西还是比较方便的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。