[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-5052":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":32,"readmeContent":33,"aiSummary":34,"trendingCount":16,"starSnapshotCount":16,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},5052,"livego","gwuhaolin\u002Flivego","gwuhaolin","live video streaming server in golang","",null,"Go",10177,2024,221,136,0,8,70.72,"MIT License",false,"master",true,[24,25,26,27,28,29,30,31],"flash","flv","golang","h264","hls","livestream","rtmp","video","2026-06-12 04:00:24","\u003Cp align='center'>\n    \u003Cimg src='.\u002Flogo.png' width='200px' height='80px'\u002F>\n\u003C\u002Fp>\n\n[中文](.\u002FREADME_cn.md)\n\n[![Test](https:\u002F\u002Fgithub.com\u002Fgwuhaolin\u002Flivego\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fgwuhaolin\u002Flivego\u002Factions\u002Fworkflows\u002Ftest.yml)\n[![Release](https:\u002F\u002Fgithub.com\u002Fgwuhaolin\u002Flivego\u002Factions\u002Fworkflows\u002Frelease.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fgwuhaolin\u002Flivego\u002Factions\u002Fworkflows\u002Frelease.yml)\n[![CodeQL Advanced](https:\u002F\u002Fgithub.com\u002Fgwuhaolin\u002Flivego\u002Factions\u002Fworkflows\u002Fcodeql.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fgwuhaolin\u002Flivego\u002Factions\u002Fworkflows\u002Fcodeql.yml)\n\nSimple and efficient live broadcast server:\n- Very simple to install and use;\n- Pure Golang, high performance, and cross-platform;\n- Supports commonly used transmission protocols, file formats, and encoding formats;\n\n#### Supported transport protocols\n- RTMP\n- AMF\n- HLS\n- HTTP-FLV\n\n#### Supported container formats\n- FLV\n- TS\n\n#### Supported encoding formats\n- H264\n- AAC\n- MP3\n\n## Installation\nAfter directly downloading the compiled [binary file](https:\u002F\u002Fgithub.com\u002Fgwuhaolin\u002Flivego\u002Freleases), execute it on the command line.\n\n#### Boot from Docker\nRun `docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin\u002Flivego` to start\n\n#### Compile from source\n1. Download the source code `git clone https:\u002F\u002Fgithub.com\u002Fgwuhaolin\u002Flivego.git`\n2. Go to the livego directory and execute `go build` or `make build`\n\n## Use\n1. Start the service: execute the livego binary file or `make run` to start the livego service;\n2. Get a channelkey(used for push the video stream) from `http:\u002F\u002Flocalhost:8090\u002Fcontrol\u002Fget?room=movie` and copy data like your channelkey.\n3. Upstream push: Push the video stream to `rtmp:\u002F\u002Flocalhost:1935\u002F{appname}\u002F{channelkey}` through the` RTMP` protocol(default appname is `live`), for example, use `ffmpeg -re -i demo.flv -c copy -f flv rtmp:\u002F\u002Flocalhost:1935\u002F{appname}\u002F{channelkey}` push([download demo flv](https:\u002F\u002Fs3plus.meituan.net\u002Fv1\u002Fmss_7e425c4d9dcb4bb4918bbfa2779e6de1\u002Fmpack\u002Fdefault\u002Fdemo.flv));\n4. Downstream playback: The following three playback protocols are supported, and the playback address is as follows:\n    - `RTMP`:`rtmp:\u002F\u002Flocalhost:1935\u002F{appname}\u002Fmovie`\n    - `FLV`:`http:\u002F\u002F127.0.0.1:7001\u002F{appname}\u002Fmovie.flv`\n    - `HLS`:`http:\u002F\u002F127.0.0.1:7002\u002F{appname}\u002Fmovie.m3u8`\n5. Use hls via https: generate ssl certificate(server.key, server.crt files), place them in directory with executable file, change \"use_hls_https\" option in livego.yaml to true (false by default)\n\nall options: \n```bash\n.\u002Flivego  -h\nUsage of .\u002Flivego:\n      --api_addr string       HTTP manage interface server listen address (default \":8090\")\n      --config_file string    configure filename (default \"livego.yaml\")\n      --flv_dir string        output flv file at flvDir\u002FAPP\u002FKEY_TIME.flv (default \"tmp\")\n      --gop_num int           gop num (default 1)\n      --hls_addr string       HLS server listen address (default \":7002\")\n      --hls_keep_after_end    Maintains the HLS after the stream ends\n      --httpflv_addr string   HTTP-FLV server listen address (default \":7001\")\n      --level string          Log level (default \"info\")\n      --read_timeout int      read time out (default 10)\n      --rtmp_addr string      RTMP server listen address\n```\n\n### [Use with flv.js](https:\u002F\u002Fgithub.com\u002Fgwuhaolin\u002Fblog\u002Fissues\u002F3)\n\nInterested in Golang? Please see [Golang Chinese Learning Materials Summary](http:\u002F\u002Fgo.wuhaolin.cn\u002F)\n","livego 是一个使用 Go 语言编写的直播视频流服务器。它具有安装简便、高性能和跨平台的特点，支持 RTMP、HLS 和 HTTP-FLV 等常见传输协议，以及 FLV 和 TS 容器格式，同时兼容 H264、AAC 和 MP3 编码格式。适用于需要快速搭建稳定且高效的直播服务的场景，如在线教育、网络会议或娱乐直播等。通过简单的配置即可启动服务，并支持 Docker 部署，方便用户根据需求灵活选择部署方式。",2,"2026-06-11 03:02:17","top_language"]