Code前端首页关于Code前端联系我们

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

terry 2年前 (2023-09-24) 阅读数 63 #后端开发

直播还不是很流行,相关技术也很成熟。但没有经历过的人可能不知道如何获得。如果你对直播技术感兴趣,目前的工作适合你学习。它是国人开发的。

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

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

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

当然,你也可以像常规Go一样安装源码。项目。

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

使用简单的

  1. 启动服务:执行livego二进制文件即可启动livego服务;
  2. 访问http://localhost:8090/control/get?room=movie获取房间频道按钮(频道按钮用于流式传输,电影用于播放)。
  3. 推送:将视频流推送到地址rtmp://localhost:1935/{ via RTMP协议应用名称}/{channelkey}
  4. live),例如:使用 ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/ {appname}/{channelkey}推流(下载演示 flv);
  5. 播放:支持部分播放协议,播放地址如下:
    • RTMP:rtmp:// localhost: 1935/{appname}/movie
    • :http://127.0 .0.1:7001/{应用程序名称}/movie.flv
    • HLS:http://127.0.0.0.0。 m3u8

帮助:

./livego  -h
Usage 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)

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门