记录一下这个推流服务器程序,GO语言所写
开源地址:https://github.com/gwuhaolin/livego
简单方便的docker使用
docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego
- 启动服务:执行livego二进制文件或
make run
启动livego服务; - 从中获取一个频道密钥(用于推送视频流)
http://localhost:8090/control/get?room=movie
并像您的频道密钥一样复制数据。 rtmp://localhost:1935/{appname}/{channelkey}
上游推送:通过协议推送视频流到RTMP
(默认appname为live
),例如使用ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}
push( download demo flv );- 下行播放:支持以下三种播放协议,播放地址如下:
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
- 通过 https 使用 hls:生成 ssl 证书(server.key,server.crt 文件),将它们放在带有可执行文件的目录中,将 livego.yaml 中的“use_hls_https”选项更改为 true(默认为 false)
所有选项:
./livego -h
Usage of ./livego:
--api_addr string HTTP manage interface server listen address (default ":8090")
--config_file string configure filename (default "livego.yaml")
--flv_dir string output flv file at flvDir/APP/KEY_TIME.flv (default "tmp")
--gop_num int gop num (default 1)
--hls_addr string HLS server listen address (default ":7002")
--hls_keep_after_end Maintains the HLS after the stream ends
--httpflv_addr string HTTP-FLV server listen address (default ":7001")
--level string Log level (default "info")
--read_timeout int read time out (default 10)
--rtmp_addr string RTMP server listen address
这篇文章还没有评论