分享
默默前行的livego--基于go语言的rtmp直播服务器
sweibd · · 13275 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
为什么go语言,原因太多了!
- 轻量级协程,随时goroutine
- 方便的channel
- 方便的interface
- 强大的服务器性能
简单点GO语言---为服务器而生!
我们来看看: livego--基于go语言的rtmp直播服务器
github地址: https://github.com/runner365/livego
什么是livego
livego是基于golang开发的rtmp服务器
为什么基于golang
-
golang在语言基本支持多核CPU均衡使用,支持海量轻量级线程,提高其并发量
当前开源的缺陷:
- srs只能运行在一个单核下,如果需要多核运行,只能启动多个srs监听不同的端口来提高并发量;
- ngx-rtmp启动多进程后,报文在多个进程内转发,需要二次开发,否则静态推送到多个子进程,效能消耗大;
golang在语言级别解决了上面多进程并发的问题。
- srs只能运行在一个单核下,如果需要多核运行,只能启动多个srs监听不同的端口来提高并发量;
-
二次开发简洁快速
golang的开发效率远远高过C/C++
livego支持哪些特性
- 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路
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信13275 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
为什么go语言,原因太多了!
- 轻量级协程,随时goroutine
- 方便的channel
- 方便的interface
- 强大的服务器性能
简单点GO语言---为服务器而生!
我们来看看: livego--基于go语言的rtmp直播服务器
github地址: https://github.com/runner365/livego
什么是livego
livego是基于golang开发的rtmp服务器
为什么基于golang
-
golang在语言基本支持多核CPU均衡使用,支持海量轻量级线程,提高其并发量
当前开源的缺陷:
- srs只能运行在一个单核下,如果需要多核运行,只能启动多个srs监听不同的端口来提高并发量;
- ngx-rtmp启动多进程后,报文在多个进程内转发,需要二次开发,否则静态推送到多个子进程,效能消耗大;
golang在语言级别解决了上面多进程并发的问题。
- srs只能运行在一个单核下,如果需要多核运行,只能启动多个srs监听不同的端口来提高并发量;
-
二次开发简洁快速
golang的开发效率远远高过C/C++
livego支持哪些特性
- 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路