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


    为什么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%!

  • 相关阅读:
    Class Loading Deadlocks
    Find out your Java heap memory size
    ZookeeperGettingStarted
    ZooKeeper的Znode剖析
    nginx+iis实现负载均衡
    ubuntu 18.04下svn的安装与基本命令
    在ubuntu中如何向U盘复制粘贴文件 Read-only file system
    Ubuntu16.04下安装破解secureCRT和secureFX的操作记录
    securecrt8注册码
    Doris FE负载均衡配置
  • 原文地址:https://www.cnblogs.com/runner42/p/7248974.html
Copyright © 2020-2023  润新知