推荐一个开源流媒体服务器-livgo

简介: 推荐一个开源流媒体服务器-livgo

livgo是一个开源的直播流媒体服务器,实现了rtsp转rtmp、hls等直播功能,但是要想项目上用起来,还是需要二次开发与封装的。


最近好多单位用的电脑都在推行国产化,国产化国产中,使用的电脑的CPU基本上都是龙芯(Mips架构)、ARM架构,好多软件用不了。后来发现了好多go开发的开源软件,可以很方便地编译使用,可以直接在window下编译即可。


这个livego的源代码就是是用go写的,go代码可以很容易编译各个平台的版本,比如:x86、x64、ARM、ARM64、mips、mips64等等


下面是源码里的ReadMe文件内容


简单高效的直播服务器:


  • 安装和使用非常简单;
  • 纯 Golang 编写,性能高,跨平台;
  • 支持常用的传输协议、文件格式、编码格式;


支持的传输协议


  • RTMP
  • AMF
  • HLS
  • HTTP-FLV


支持的容器格式


  • FLV
  • TS


支持的编码格式


  • H264
  • AAC
  • MP3


安装


直接下载编译好的二进制文件后,在命令行中执行。


从 Docker 启动


执行docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego启动


从源码编译


  1. 下载源码 git clone https://github.com/gwuhaolin/livego.git
  2. 去 livego 目录中 执行 go build


使用


  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  -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)


和 flv.js 搭配使用


对Golang感兴趣?请看Golang 中文学习资料汇总

目录
相关文章
|
1月前
|
存储 编解码 应用服务中间件
使用Nginx搭建流媒体服务器
本文介绍了流媒体服务器的特性及各种流媒体传输协议的适用场景,并详细阐述了使用 nginx-http-flv-module 扩展Nginx作为流媒体服务器的详细步骤,并提供了在VLC,flv.js,hls.js下的流媒体拉流播放示例。
154 1
|
2月前
|
运维 监控 Linux
服务器管理面板大盘点: 8款开源面板助你轻松管理Linux服务器
在数字化时代,服务器作为数据存储和计算的核心设备,其管理效率与安全性直接关系到业务的稳定性和可持续发展。随着技术的不断进步,开源社区涌现出众多服务器管理面板,这些工具以其强大的功能、灵活的配置和友好的用户界面,极大地简化了Linux服务器的管理工作。本文将详细介绍8款开源的服务器管理面板,包括Websoft9、宝塔、cPanel、1Panel等,旨在帮助运维人员更好地选择和使用这些工具,提升服务器管理效率。
|
2月前
|
运维 安全 Linux
2024 主流的开源服务器面板推荐
随着云计算和虚拟专用服务器(VPS)的普及,服务器面板工具成为了企业和个人管理服务器的得力助手。一个优秀的服务器面板不仅可以简化服务器管理任务,还可以提升工作效率和安全性。本文将为您介绍并测评几款2024年全网热门的服务器面板,包括Websoft9、宝塔、cPanel、1Panel等,帮助您找到最适合自己的管理工具。
2024 主流的开源服务器面板推荐
|
3月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
582 3
|
3月前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
106 4
|
7月前
|
网络协议 Shell Windows
搭建rtmp流媒体服务器的步骤
网络上很多问文章介绍使用ffmpeg推送和拉流,经常遗漏安装rtsp-simple-server的步骤,执行推流命令:
292 0
|
3月前
|
Web App开发 运维 安全
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
117 0
|
5月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
|
6月前
|
存储 编解码 应用服务中间件
|
6月前
|
存储
流媒体服务器与视频服务器有什么区别?
总的来说,流媒体服务器和视频服务器的主要区别在于,流媒体服务器更注重实时性和并发性,而视频服务器更注重存储和分发。
208 2