• 技术文章 >后端开发 >Golang

    教你用golang实现直播和点播功能

    藏色散人藏色散人2020-10-08 18:20:44转载368
    下面由golang教程栏目给大家介绍golang实现直播和点播功能的方法,希望对需要的朋友有所帮助!

    1.概述

    刚开始做直播的时候,还是有些懵逼的,毕竟什么推拉流,什么格式协议完全不懂的,还有第三方的接口也是层出不穷,其实简单的说一下,如图(腾讯直播Api里面盗取的)

    其实所谓的推流就是主播的客户把我们要的播放内容按特定的流程存放于服务器,当然这里面展示的是腾讯云,完后经过通讯云的转码再让观众去观看(拉取),建议不是很明确基础的小伙伴去了解一下,理解起来还是很方便的.腾讯云传送门

    而我们今天使用的不是腾讯,而是用golang写好的开源项目livego,livego传送门

    2.livego

    说实话,文档挺少的,估计是作者工作忙吧,我这里也是简单的使用,不过要提一个小小的bug,估计是go版本的问题,在go1.10中,有一处错误,返回的是2个数值,但是那里只写了一个(具体哪里我也记不清楚了"")

    剩下就直接开干,搭建好环境以后,启动服务:执行 livego 二进制文件启动 livego 服务就可以了

    3.OBS

    这个是直播标配吧,流程我就不说了,我就说我遇到的坑,如图:

    当我设置推流的时候,确实不知道流名称是什么,查了半天以及试验的好久才明白,如果说你得 连接地址是rtmp://106.12.5.245:1935/live/push,而在livego中的live.cfg又是这样的:

    里面appname的live是要和rtmp://106.12.5.245:1935/live中的live相同的,假如说我appname的值是livego,那么我的推送地址必须得是:rtmp://106.12.5.245:1935/livego,而流名称是随便填写的,只要不为空就行,比如我这里面填写的是push,那么接下来我拉取的页面就是:

    rtmp://106.12.5.245:1935/live/push

    http://106.12.5.245:7001/live/push.flv

    http://106.12.5.245:7002/live/push.m3u8

    以上就是教你用golang实现直播和点播功能的详细内容,更多请关注php中文网其它相关文章!

    本文转载于:csdn,如有侵犯,请联系a@php.cn删除
    专题推荐:golang
    上一篇:关于golang的make 下一篇:关于Go语言的http/2服务器功能及客户端使用方法
    第14期线上培训班

    相关文章推荐

    • 关于Golang panic用法详解• 关于Golang切片的三种简单使用方式及区别• 介绍Golang序列化和反序列化• 关于golang的make

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网