• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

默默前行的livego--基于go语言的rtmp直播服务器

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

为什么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在语言级别解决了上面多进程并发的问题。
  • 二次开发简洁快速

    golang的开发效率远远高过C/C++

livego支持哪些特性

  • rtmp 推流,拉流
  • 支持hls观看
  • 支持http-flv观看
  • 支持gop-cache缓存
  • 静态relay支持:支持静态推流,拉流(支持对rtmp/http-flv拉流)
  • 动态replay支持:支持http动态控制拉流、推流
  • 支持push,push_done事件的外挂进程启动
  • 统计信息支持:支持http在线查看流状态

livego性能有多强

go语言为服务器性能而生,看看性能有多强吧!
测试机型:阿里云32核64G独享服务器
测试方法:
  1. 用ffmpeg向livego的rtmp服务推流:ffmpeg -re -i source.200kbps.768x320.flv -c copy -f flv rtmp://10.111.59.49/live/stream
  2. 启动3个sb_rtmp_load的拉流进程,每个进程拉流10000路

./objs/sb_rtmp_load -c 10000 -r rtmp://127.0.0.1:1935/live/stream &

测试结果:

30000路并发拉流,cpu占用率不到50%!

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang单元测试(go test )发布时间:2022-07-10
下一篇:
Go实战--golang实现MP4视频文件服务器(nareix/joy4)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap