用golang实现直播和点播功能的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
<强> 1。概述
刚开始做直播的时候,还是有些懵逼的,毕竟什么推拉流,什么格式协议完全不懂的,还有第三方的接口也是层出不穷,其实简单的说一下,如图(腾讯直播Api里面盗取的)
其实所谓的推流就是<强>主播的客户把我们要的播放内容按特定的流程存放于服务器,当然这里面展示的是腾讯云,完后经过通讯云的转码再让观众去观看(拉取),建议不是很明确基础的小伙伴去了解一下,理解起来还是很方便的。腾讯云传送门
而我们今天使用的不是腾讯,而是用golang写好的开源项目livego, livego传送门
<强> 2。livego
<强>,,,说实话,文档挺少的,估计是作者工作忙吧,我这里也是简单的使用,不过要提一个小小的错误,估计是走版本的问题,在go1.10中,有一处错误,返回的是两个数的值,但是那里只写了一个(具体哪里我也记不清楚了““)
<强>剩下就直接开干,搭建好环境以后, <>强启动服务:执行<代码> livego 二进制文件启动livego服务就可以了
<强> 3。奥林匹克广播服务公司
<强>这个是直播标配吧,流程我就不说了,我就说我遇到的坑,如图:
<强>当我设置推流的时候,确实不知道流名称是什么,查了半天以及试验的好久才明白,如果说你得连接地址是rtmp://106.12.5.245:1935/生活/推动,而在livego中的生活。<强> cfg又是这样的:
<强>里面浏览器名称的生活是要和rtmp://106.12.5.245:1935/中生活的生活相同的,假如说我浏览器名称的值是livego,那么我的推送地址必须得是:rtmp://106.12.5.245:1935/livego,而流名称是随便填写的,只要不为空就行,比如我这里面填写的是推,那么接下来我拉取的页面就是:
<强> rtmp://106.12.5.245:1935/生活/推动
<强> http://106.12.5.245:7001/生活/push.flv
<强> http://106.12.5.245:7002/生活/推动。m3u8