14
Github GitHub - gwuhaolin/livego: live video streaming server in golang
source link: https://github.com/gwuhaolin/livego
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Simple and efficient live broadcast server:
- Very simple to install and use;
- Pure Golang, high performance, and cross-platform;
- Supports commonly used transmission protocols, file formats, and encoding formats;
Supported transport protocols
- HTTP-FLV
Supported container formats
Supported encoding formats
Installation
After directly downloading the compiled binary file, execute it on the command line.
Boot from Docker
Run docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego
to start
Compile from source
- Download the source code
git clone https://github.com/gwuhaolin/livego.git
- Go to the livego directory and execute
go build
ormake build
- Start the service: execute the livego binary file or
make run
to start the livego service; - Get a channelkey(used for push the video stream) from
http://localhost:8090/control/get?room=movie
and copy data like your channelkey. - Upstream push: Push the video stream to
rtmp://localhost:1935/{appname}/{channelkey}
through theRTMP
protocol(default appname islive
), for example, useffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey}
push(download demo flv); - Downstream playback: The following three playback protocols are supported, and the playback address is as follows:
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
all options:
./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
Use with flv.js
Interested in Golang? Please see Golang Chinese Learning Materials Summary
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK