From ba18c6acc5e8b339c5ed586cba7743046be6b3bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=B5=A9=E9=BA=9F?= Date: Wed, 15 Apr 2020 19:11:08 +0800 Subject: [PATCH 1/6] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 18 ++++++++------ README_cn.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 7 deletions(-) create mode 100644 README_cn.md diff --git a/README.md b/README.md index 36b0df4..47a0206 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ [![Test](https://github.com/gwuhaolin/livego/workflows/Test/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ATest) +[中文](./README_cn.md) + Simple and efficient live broadcast server: - Very simple to install and use; - Pure Golang, high performance, cross-platform; @@ -35,6 +37,15 @@ Run `docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -d --name livego gwuhaoli 2. Go to the livego directory and execute `go build` or `make build` ## Use +1. Start the service: execute the livego binary file or `make run` to start the livego service; +2. Get a channelkey `curl http://localhost:8090/control/get?room=movie` and copy data like your channelkey. +3. Upstream push: Push the video stream to `rtmp://localhost:1935/{appname}/{channelkey}` through the` RTMP` protocol, for example, use `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}` push; +4. Downstream playback: The following three playback protocols are supported, and the playback address is as follows: + -`RTMP`:`rtmp://localhost:1935/{appname}/{channelkey}` + -`FLV`:`http://127.0.0.1:7001/{appname}/{channelkey}.flv` + -`HLS`:`http://127.0.0.1:7002/{appname}/{channelkey}.m3u8` + +all options: ```bash ./livego -h Usage of ./livego: @@ -49,13 +60,6 @@ Usage of ./livego: --rtmp_addr string RTMP server listen address (default ":1935") --write_timeout int write time out (default 10) ``` -2. Start the service: execute the livego binary file or `make run` to start the livego service; -3. Get a channelkey `curl http://localhost:8090/control/get?room=movie` and copy data like your channelkey. -4. Upstream push: Push the video stream to `rtmp://localhost:1935/live/movie`(`rtmp://localhost:1935/{appname}/{channelkey}`) through the` RTMP` protocol, for example, use `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/live/movie` push; -5. Downstream playback: The following three playback protocols are supported, and the playback address is as follows: - -`RTMP`:`rtmp://localhost:1935/live/movie` - -`FLV`:`http://127.0.0.1:7001/live/movie.flv` - -`HLS`:`http://127.0.0.1:7002/live/movie.m3u8` ### [Use with flv.js](https://github.com/gwuhaolin/blog/issues/3) diff --git a/README_cn.md b/README_cn.md new file mode 100644 index 0000000..819aaeb --- /dev/null +++ b/README_cn.md @@ -0,0 +1,67 @@ +

+ +

+ +[![Test](https://github.com/gwuhaolin/livego/workflows/Test/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ATest) + +简单高效的直播服务器: +- 安装和使用非常简单; +- 纯 Golang 编写,性能高,跨平台; +- 支持常用的传输协议、文件格式、编码格式; + +#### 支持的传输协议 +- RTMP +- AMF +- HLS +- HTTP-FLV + +#### 支持的容器格式 +- FLV +- TS + +#### 支持的编码格式 +- H264 +- AAC +- MP3 + +## 安装 +直接下载编译好的[二进制文件](https://github.com/gwuhaolin/livego/releases)后,在命令行中执行。 +## Installation +After directly downloading the compiled [binary file] (https://github.com/gwuhaolin/livego/releases), execute it on the command line. + +#### 从 Docker 启动 +执行`docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -d --name livego 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` 获取一个房间的key. +3. 推流: 通过`RTMP`协议推送视频流到地址 `rtmp://localhost:1935/{appname}/{channelkey}`, 例如: 使用 `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}` 推流; +4. 播放: 支持多种播放协议,播放地址如下: + -`RTMP`:`rtmp://localhost:1935/{appname}/{channelkey}` + -`FLV`:`http://127.0.0.1:7001/{appname}/{channelkey}.flv` + -`HLS`:`http://127.0.0.1:7002/{appname}/{channelkey}.m3u8` + +所有配置项: +```bash +./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") + --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 (default ":1935") + --write_timeout int write time out (default 10) +``` + +### [和 flv.js 搭配使用](https://github.com/gwuhaolin/blog/issues/3) + +对Golang感兴趣?请看[Golang 中文学习资料汇总](http://go.wuhaolin.cn/) + From b1aad26c70434e83c177a30ba095c0a4177866db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=B5=A9=E9=BA=9F?= Date: Wed, 15 Apr 2020 19:14:25 +0800 Subject: [PATCH 2/6] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README_cn.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/README_cn.md b/README_cn.md index 819aaeb..2708b5f 100644 --- a/README_cn.md +++ b/README_cn.md @@ -26,8 +26,6 @@ ## 安装 直接下载编译好的[二进制文件](https://github.com/gwuhaolin/livego/releases)后,在命令行中执行。 -## Installation -After directly downloading the compiled [binary file] (https://github.com/gwuhaolin/livego/releases), execute it on the command line. #### 从 Docker 启动 执行`docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -d --name livego gwuhaolin/livego`启动 @@ -49,16 +47,16 @@ After directly downloading the compiled [binary file] (https://github.com/gwuhao ```bash ./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") - --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 (default ":1935") - --write_timeout int write time out (default 10) + --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") + --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 搭配使用](https://github.com/gwuhaolin/blog/issues/3) From 5ac83f9e8719e63014723dbbca92bdf894ee23a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=B5=A9=E9=BA=9F?= Date: Wed, 15 Apr 2020 19:17:29 +0800 Subject: [PATCH 3/6] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + README_cn.md | 1 + 2 files changed, 2 insertions(+) diff --git a/README.md b/README.md index 47a0206..36ed179 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,7 @@ Run `docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -d --name livego gwuhaoli 2. Get a channelkey `curl http://localhost:8090/control/get?room=movie` and copy data like your channelkey. 3. Upstream push: Push the video stream to `rtmp://localhost:1935/{appname}/{channelkey}` through the` RTMP` protocol, for example, use `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}` push; 4. Downstream playback: The following three playback protocols are supported, and the playback address is as follows: + -`RTMP`:`rtmp://localhost:1935/{appname}/{channelkey}` -`FLV`:`http://127.0.0.1:7001/{appname}/{channelkey}.flv` -`HLS`:`http://127.0.0.1:7002/{appname}/{channelkey}.m3u8` diff --git a/README_cn.md b/README_cn.md index 2708b5f..43aceea 100644 --- a/README_cn.md +++ b/README_cn.md @@ -39,6 +39,7 @@ 2. 访问 `http://localhost:8090/control/get?room=movie` 获取一个房间的key. 3. 推流: 通过`RTMP`协议推送视频流到地址 `rtmp://localhost:1935/{appname}/{channelkey}`, 例如: 使用 `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}` 推流; 4. 播放: 支持多种播放协议,播放地址如下: + -`RTMP`:`rtmp://localhost:1935/{appname}/{channelkey}` -`FLV`:`http://127.0.0.1:7001/{appname}/{channelkey}.flv` -`HLS`:`http://127.0.0.1:7002/{appname}/{channelkey}.m3u8` From 338ab278bd1702af9eca09567adee51fcd83ed42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=B5=A9=E9=BA=9F?= Date: Wed, 15 Apr 2020 19:18:33 +0800 Subject: [PATCH 4/6] =?UTF-8?q?docs:=20=E4=BF=AE=E5=A4=8D=E6=8E=92?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 +++---- README_cn.md | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 36ed179..d35b71d 100644 --- a/README.md +++ b/README.md @@ -41,10 +41,9 @@ Run `docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -d --name livego gwuhaoli 2. Get a channelkey `curl http://localhost:8090/control/get?room=movie` and copy data like your channelkey. 3. Upstream push: Push the video stream to `rtmp://localhost:1935/{appname}/{channelkey}` through the` RTMP` protocol, for example, use `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}` push; 4. Downstream playback: The following three playback protocols are supported, and the playback address is as follows: - - -`RTMP`:`rtmp://localhost:1935/{appname}/{channelkey}` - -`FLV`:`http://127.0.0.1:7001/{appname}/{channelkey}.flv` - -`HLS`:`http://127.0.0.1:7002/{appname}/{channelkey}.m3u8` + - `RTMP`:`rtmp://localhost:1935/{appname}/{channelkey}` + - `FLV`:`http://127.0.0.1:7001/{appname}/{channelkey}.flv` + - `HLS`:`http://127.0.0.1:7002/{appname}/{channelkey}.m3u8` all options: ```bash diff --git a/README_cn.md b/README_cn.md index 43aceea..a338641 100644 --- a/README_cn.md +++ b/README_cn.md @@ -39,10 +39,9 @@ 2. 访问 `http://localhost:8090/control/get?room=movie` 获取一个房间的key. 3. 推流: 通过`RTMP`协议推送视频流到地址 `rtmp://localhost:1935/{appname}/{channelkey}`, 例如: 使用 `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}` 推流; 4. 播放: 支持多种播放协议,播放地址如下: - - -`RTMP`:`rtmp://localhost:1935/{appname}/{channelkey}` - -`FLV`:`http://127.0.0.1:7001/{appname}/{channelkey}.flv` - -`HLS`:`http://127.0.0.1:7002/{appname}/{channelkey}.m3u8` + - `RTMP`:`rtmp://localhost:1935/{appname}/{channelkey}` + - `FLV`:`http://127.0.0.1:7001/{appname}/{channelkey}.flv` + - `HLS`:`http://127.0.0.1:7002/{appname}/{channelkey}.m3u8` 所有配置项: ```bash From b6f8cfb4d7eb81e67d948b3605f583e4a224c487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=B5=A9=E9=BA=9F?= Date: Wed, 15 Apr 2020 19:21:09 +0800 Subject: [PATCH 5/6] =?UTF-8?q?docs:=20=E4=BF=AE=E5=A4=8D=E6=8E=92?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release.yml | 2 +- README.md | 1 + README_cn.md | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 87e8c87..543f2c1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,4 +1,4 @@ -name: release +name: Release on: release: types: [published] diff --git a/README.md b/README.md index d35b71d..0bc341c 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,7 @@

[![Test](https://github.com/gwuhaolin/livego/workflows/Test/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ATest) +[![Release](https://github.com/gwuhaolin/livego/workflows/release/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ARelease) [中文](./README_cn.md) diff --git a/README_cn.md b/README_cn.md index a338641..693e8b8 100644 --- a/README_cn.md +++ b/README_cn.md @@ -3,6 +3,7 @@

[![Test](https://github.com/gwuhaolin/livego/workflows/Test/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ATest) +[![Release](https://github.com/gwuhaolin/livego/workflows/release/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ARelease) 简单高效的直播服务器: - 安装和使用非常简单; From 2b9df25d0e7a9550a02fe97b52aace27d00b48ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=B5=A9=E9=BA=9F?= Date: Wed, 15 Apr 2020 19:35:23 +0800 Subject: [PATCH 6/6] =?UTF-8?q?docs:=20=E4=BF=AE=E5=A4=8D=E6=8E=92?= =?UTF-8?q?=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 ++++++------ README_cn.md | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 0bc341c..60648b7 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@

-[![Test](https://github.com/gwuhaolin/livego/workflows/Test/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ATest) -[![Release](https://github.com/gwuhaolin/livego/workflows/release/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ARelease) - [中文](./README_cn.md) +[![Test](https://github.com/gwuhaolin/livego/workflows/Test/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ATest) +[![Release](https://github.com/gwuhaolin/livego/workflows/Release/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ARelease) + Simple and efficient live broadcast server: - Very simple to install and use; - Pure Golang, high performance, cross-platform; @@ -31,7 +31,7 @@ Simple and efficient live broadcast server: After directly downloading the compiled [binary file](https://github.com/gwuhaolin/livego/releases), execute it on the command line. #### Boot from Docker -Run `docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -d --name livego gwuhaolin/livego` to start +Run `docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego` to start #### Compile from source 1. Download the source code `git clone https://github.com/gwuhaolin/livego.git` @@ -39,8 +39,8 @@ Run `docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -d --name livego gwuhaoli ## Use 1. Start the service: execute the livego binary file or `make run` to start the livego service; -2. Get a channelkey `curl http://localhost:8090/control/get?room=movie` and copy data like your channelkey. -3. Upstream push: Push the video stream to `rtmp://localhost:1935/{appname}/{channelkey}` through the` RTMP` protocol, for example, use `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}` push; +2. Get a channelkey from `http://localhost:8090/control/get?room=movie` and copy data like your channelkey. +3. Upstream push: Push the video stream to `rtmp://localhost:1935/{appname}/{channelkey}` through the` RTMP` protocol(default appname is `live`), for example, use `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}` push; 4. Downstream playback: The following three playback protocols are supported, and the playback address is as follows: - `RTMP`:`rtmp://localhost:1935/{appname}/{channelkey}` - `FLV`:`http://127.0.0.1:7001/{appname}/{channelkey}.flv` diff --git a/README_cn.md b/README_cn.md index 693e8b8..80b3923 100644 --- a/README_cn.md +++ b/README_cn.md @@ -3,7 +3,7 @@

[![Test](https://github.com/gwuhaolin/livego/workflows/Test/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ATest) -[![Release](https://github.com/gwuhaolin/livego/workflows/release/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ARelease) +[![Release](https://github.com/gwuhaolin/livego/workflows/Release/badge.svg)](https://github.com/gwuhaolin/livego/actions?query=workflow%3ARelease) 简单高效的直播服务器: - 安装和使用非常简单; @@ -29,7 +29,7 @@ 直接下载编译好的[二进制文件](https://github.com/gwuhaolin/livego/releases)后,在命令行中执行。 #### 从 Docker 启动 -执行`docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -d --name livego gwuhaolin/livego`启动 +执行`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` @@ -37,8 +37,8 @@ ## 使用 1. 启动服务:执行 `livego` 二进制文件启动 livego 服务; -2. 访问 `http://localhost:8090/control/get?room=movie` 获取一个房间的key. -3. 推流: 通过`RTMP`协议推送视频流到地址 `rtmp://localhost:1935/{appname}/{channelkey}`, 例如: 使用 `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}` 推流; +2. 访问 `http://localhost:8090/control/get?room=movie` 获取一个房间的 channelkey. +3. 推流: 通过`RTMP`协议推送视频流到地址 `rtmp://localhost:1935/{appname}/{channelkey}` (appname默认是`live`), 例如: 使用 `ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}` 推流; 4. 播放: 支持多种播放协议,播放地址如下: - `RTMP`:`rtmp://localhost:1935/{appname}/{channelkey}` - `FLV`:`http://127.0.0.1:7001/{appname}/{channelkey}.flv`