官方仓库
GitHub - gwuhaolin/livego: live video streaming server in golang
其他的博客文章
https://www.cnblogs.com/runner42/p/7248974.html
简单总结,就是并发性能强,也有可能延时比较低,需要实测。
官方仓库中,安装和测试都有介绍,就是release直接下载的并不能正常把api服务跑起来,所以还是下载源码编译安装。
从源码编译
- 下载源码
git clone https://github.com/gwuhaolin/livego.git
- 去 livego 目录中 执行
go build
完成编译,然后运行
(base) $ ./livego
INFO[2021-06-07T00:52:27+08:00]
_ _ ____
| | (_)_ _____ / ___| ___
| | | \ \ / / _ \ | _ / _ \
| |___| |\ V / __/ |_| | (_) |
|_____|_| \_/ \___|\____|\___/
version: master
INFO[2021-06-07T00:52:27+08:00] HLS server enable....
INFO[2021-06-07T00:52:27+08:00] RTMP Listen On :1935
INFO[2021-06-07T00:52:27+08:00] HTTP-API listen On :8090
INFO[2021-06-07T00:52:27+08:00] HTTP-FLV listen On :7001
INFO[2021-06-07T00:52:27+08:00] HLS listen On :7002
这里可以看到api服务正常运行,通过api获取channelkey
http://localhost:8090/control/get?room=movie
获取返回的json数据中的key
status | 200 |
data | "rfBd56ti2SMtYvSgD5xAV0YU99zampta7Z7S575KLkIZ9PYk |
这个key在推流软件如OBS或者ffmpeg中设置上面的streamkey
rtmp://localhost:1935/live/streamkey
或者通过ffmpeg推流
ffmpeg -i /dev/video0 -b:v 200000k -r 30 -f flv rtmp://localhost:1935/live/rfBd56ti2SMtYvSgD5xAV0YU99zampta7Z7S575KLkIZ9PYk
然后在vlc中就可以拉流了rtmp://localhost:1935/live/movie
也可以用ffplay拉流
ffplay -fflags nobuffer http://127.0.0.1:7001/live/movie.flv
ffplay -fflags nobuffer rtmp://127.0.0.1935/live/movie
实测似乎比srs实时性要好,还要跨网段通过公网转发测试看看。