用Go实现一个直播系统难吗?看看这个开源项目

今天

以下文章来源于Go招聘 ,作者欧盆索思

Go招聘Golang 相关求职和招聘,以及面试题、经验分享,Go 语言其他知识和职场也是值得分享的。

这几年直播真的是不要太火,相关技术也很成熟。但没有接触过的人,可能不知道怎么实现的。如果你对直播技术感兴趣,今天的这个项目很适合你研究。而且是国人开发的。

项目地址:https://github.com/gwuhaolin/livego,Star 数:5.3k+。

这是一个简单高效的直播服务器,完全使用 Go 实现,性能高,跨平台,安装和使用非常简单。支持常用的传输协议、文件格式、编码格式。

你可以通过编译好的二进制文件:https://github.com/gwuhaolin/livego/releases 安装,也可以使用 Docker:

$ docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego

当然,也可以按普通的 Go 项目进行源码安装。

$ go get -v github.com/gwuhaolin/livego

简单使用

  1. 启动服务:执行 livego 二进制文件启动 livego 服务;
  2. 访问 http://localhost:8090/control/get?room=movie 获取一个房间的 channelkey(channelkey用于推流,movie用于播放).
  3. 推流: 通过RTMP协议推送视频流到地址 rtmp://localhost:1935/{appname}/{channelkey} (appname默认是live), 例如:使用 ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey} 推流(下载demo flv);
  4. 播放: 支持多种播放协议,播放地址如下:
    • RTMP:rtmp://localhost:1935/{appname}/movie
    • FLV:http://127.0.0.1:7001/{appname}/movie.flv
    • HLS:http://127.0.0.1:7002/{appname}/movie.m3u8

使用帮助:

./livego  -hUsage of ./livego:      --api_addr string       HTTP管理访问监听地址 (default ":8090")      --config_file string    配置文件路径 (默认 "livego.yaml")      --flv_dir string        输出的 flv 文件路径 flvDir/APP/KEY_TIME.flv (默认 "tmp")      --gop_num int           gop 数量 (default 1)      --hls_addr string       HLS 服务监听地址 (默认 ":7002")      --hls_keep_after_end    Maintains the HLS after the stream ends      --httpflv_addr string   HTTP-FLV server listen address (默认 ":7001")      --level string          日志等级 (默认 "info")      --read_timeout int      读超时时间 (默认 10)      --rtmp_addr string      RTMP 服务监听地址 (默认 ":1935")      --write_timeout int     写超时时间 (默认 10)

文末「阅读原文」可直达项目首页。

今天的项目大家觉得怎么样吗?如果你喜欢,请在文章底部留言、点赞或关注转发,你的支持就是我持续更新的最大动力!


(0)

相关推荐

  • 音视频开发——通信直播协议和视频推流丨RTMP-RTSP

    近年来直播已成为互联网行业的大热话题,直播答题.游戏直播.竞赛直播,抖音直播,直播教育等层出不穷,直播早已成为人们耳熟能详的技术.事实上直播的兴起不仅与新时代人们要求为自己代言的心理有关,同时也得益于 ...

  • 使用wireshark抓取bilibili直播的真实地址

    一. 概述 我之前测试过bilibili的直播(主播使用OBS-studio推送),延迟是相当低,大概就是3s-4s延迟,所以猜测网上说的直播客户端使用hls协议播放是不可能的.hls如果是按照5秒切 ...

  • 搭建直播系统,怎样开发一个直播系统?

    目前开发直播系统有不少难题.搭建直播系统,怎样开发一个直播系统? 1.技术难题: 虽然直播系统开发并不是很难的事情,基本上会编程程序员就能开发出来.但是支持几个人同时直播和让上百万人一起直播却是两回事 ...

  • "DeepNight-in-kotlin"一个纯看妹纸的 Kotlin 开源项目

    简介 DeepNight-in-kotlin 陪你度过每一个深夜,妹纸看不停 看够了代码家的妹纸,来看看豆瓣的妹纸. Github地址: https://github.com/ChenYXin/Dee ...

  • 企业如何选择一个合适的会议直播系统?

    虽然国内疫情已经得到控制,但是国外疫情似乎仍在肆意蔓延,因此会议直播对于跨国或者跨地区的企业来说还是比较吃香的,那么怎么选一个靠谱的会议直播系统呢? 首先,要保证直播平台的稳定和流畅.因为稳定和流畅是 ...

  • 搭建直播系统的稳定性,是衡量一个直播平台搭建的标准

    虽然开发一个直播app并不是很难的事情,基本上会编程程序员就能开发出来.但是支持几个人同时直播和让上百万人一起直播却是两回事. 很多互联网创业项目会标配PC.Android.iOS三大平台,每个平台要 ...

  • 草书其实是一个大系统

    按照书法形象和书写特征,基本上可以将书法的书体分为正书和草书两大系统:前者主静,在静中求动:后者主动,但动中有静.正书系统包括了甲骨文.金文.小篆.隶书.楷书和魏碑等:草书则包括了章草.今草.小草.行 ...

  • 直播系统源代码的礼物及增值服务,拓宽流量变现渠道

    要说直播系统中最直接影响用户使用体验的,除了直播画面的流畅度,那么一定就是直播系统源代码的礼物及守护系统了,一提到直很多人的脑海中就浮现出"感谢老铁送来的穿云箭.感谢小哥哥送来的守护礼物.. ...

  • 网页即时聊天源码,直播系统开发,直播平台搭建的二三事儿

    目前直播的应用场景已经无法估量,游戏.户外.赛事.新闻发布会等,场景的增多代表更多的需求,直播平台源代码的需求量增多,也使整个直播行业保持着受欢迎的热度. 但随着用户红利的逐渐减退,内容垂直化或将成为 ...

  • 搭建网络直播系统源码,开发团队需要考虑的问题有很多

    网络时代的发展,使人们信息接收方式越来越多元化,单纯的文字配图片已经满足不了用户的需求,视频直播模式受到大家的青睐.直播APP系统源码的搭建也被越来越多的人所看重. 了解直播系统的基本功能: 视频直播 ...

  • 直播系统源码,开发前的准备工作你做全了吗

    直播系统源码的开发不仅仅是运营商选择源码.选择开发公司制定好功能后开发就完事了,做为运营商在开发前后还有很多准备工作要做,我们一起来看一下有哪些准备工作是开发前需要做的,看看你是否有遗漏. 一.前期准 ...