为什么go语言,原因太多了!
- 轻量级协程,随时goroutine
- 方便的channel
- 方便的interface
- 强大的服务器性能
简单点GO语言---为服务器而生!
我们来看看: livego--基于go语言的rtmp直播服务器
github地址: https://github.com/runner365/livego
什么是livego
livego是基于golang开发的rtmp服务器
- rtmp 推流,拉流
- 支持hls观看
- 支持http-flv观看
- 支持gop-cache缓存
- 静态relay支持:支持静态推流,拉流(支持对rtmp/http-flv拉流)
- 动态replay支持:支持http动态控制拉流、推流
- 支持push,push_done事件的外挂进程启动
- 统计信息支持:支持http在线查看流状态
livego性能有多强
go语言为服务器性能而生,看看性能有多强吧!
测试机型:阿里云32核64G独享服务器
测试方法:
- 用ffmpeg向livego的rtmp服务推流:ffmpeg -re -i source.200kbps.768x320.flv -c copy -f flv rtmp://10.111.59.49/live/stream
- 启动3个sb_rtmp_load的拉流进程,每个进程拉流10000路
./objs/sb_rtmp_load -c 10000 -r rtmp://127.0.0.1:1935/live/stream &
测试结果:
30000路并发拉流,cpu占用率不到50%!