V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Visitor233
V2EX  ›  程序员

咨询贴:流媒体服务器技术选型

  •  
  •   Visitor233 · 2021-06-03 10:30:55 +08:00 · 4353 次点击
    这是一个创建于 1248 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前提背景:本人用阿里云的直播服务做出过基于小程序直播项目,高峰人数也就 900 来人。随后也接触了长鹏厂商,用过他们的录播主机,但稳定性一般般。

    后续工作方向:类似监控这样,就小程序打开后,可以看到各个教室里的摄像头直播画面。当然一次只能看一个教室,想看其他的得退出,另外选。摄像头有很多厂家的(已知海康,奥维亚,ITC )。

    技术调研:我在网上看的最多的是 nginx-rtmp-module,只是 aurt 作者年更。同时还找到了另一个开源项目 SRS,这个项目我部署用了 4 天,尝试了各种我项目会需要用到的功能,有个重要的模块没办法实现,翻了 Issues 和百度,官方确实没有实现相关功能(项目 C++写的)。

    所以在这询问下各位大佬,还有啥开源项目或者技术是我可以尝试的,还可以考虑 nginx-rtmp-module 吗?(因为作者最近居然更新了)

    19 条回复    2021-06-09 16:27:29 +08:00
    feitxue
        1
    feitxue  
       2021-06-03 10:36:04 +08:00
    SRS 我们也在用.
    场景是在线考试监考.考生端推流.
    业务端就其他服务来拉流做检测.
    Visitor233
        2
    Visitor233  
    OP
       2021-06-03 10:56:34 +08:00
    @feitxue 请问大佬,你们的拉流服务怎么做的?有些流确实不方便直接推到 SRS,但 SRS 的 ingest 配置又只能在启动前写好,我没找到 SRS 在运行时进行更新 ingest 的操作。这个业务还是有点重要的。
    manhere
        3
    manhere  
       2021-06-03 10:59:02 +08:00 via Android
    试试 zlmediakit
    andyskaura
        4
    andyskaura  
       2021-06-03 11:34:18 +08:00
    前段时间写过一个捕捉桌面推流的小工具 node-media-server+ffmpeg
    Visitor233
        5
    Visitor233  
    OP
       2021-06-03 12:57:13 +08:00
    @manhere 谢谢指点!这个可以有,在看 API 接口,满足初步需求再部署一个试试。
    Visitor233
        6
    Visitor233  
    OP
       2021-06-03 13:05:36 +08:00
    @andyskaura 谢谢回复!客户还是习惯 obs,ffmpeg 对他们来说太难了,简直就想一键搞定😂
    urmyfaith
        7
    urmyfaith  
       2021-06-03 13:11:54 +08:00
    obs, ffmpeg, zlmediakit,srs,nginx-rtmp-module,livego,EasyDarwin,
    masterclock
        8
    masterclock  
       2021-06-03 14:00:52 +08:00   ❤️ 1
    补充一下
    monibuca go 写的,模块化很高,有点过于追求模块化了,不专业,但是用 go 写的,改起来简单
    kurento c++,支持 pipeline,非常有特色
    feitxue
        9
    feitxue  
       2021-06-03 14:29:00 +08:00
    @Visitor233
    第一个版本刚写完,刚联调完,没上线.
    目前的媒体服务器,只单纯拉流,没做其他功能.
    就直接一个配置文件就启动了,没再动过.
    现阶段重点放在了拉流后的识别等各种业务的准确度打磨.
    tankeco
        10
    tankeco  
       2021-06-03 16:46:47 +08:00
    rtsp-simple-server 符合要求么?感觉这个很轻
    526326991
        11
    526326991  
       2021-06-03 16:54:13 +08:00
    试试 Monibuca 我司在用~
    Visitor233
        12
    Visitor233  
    OP
       2021-06-03 17:32:54 +08:00
    @urmyfaith 谢谢回复。EasyDarwin 这个看官网和 github 上没写明可以支持 rtmp,有点可惜。livego 生态有点年轻,商业项目不敢随意用。o((⊙﹏⊙))o.
    Visitor233
        13
    Visitor233  
    OP
       2021-06-03 17:36:57 +08:00
    @masterclock

    刚看了 monibuca,插件化确实有点意思,而且我也有考虑学习 go,学习使用两不误。

    11 楼大兄弟回复不了,我没绑手机😢
    Visitor233
        14
    Visitor233  
    OP
       2021-06-03 17:47:56 +08:00
    @feitxue 好吧,祝你项目成功。我这已经过了第一版本了,用的第三方流媒体服务,体验太糟了,经理让我尝试自己搭一个😂

    10 楼大兄弟回复不了。看 git 上,代码也是 go 。这个项目热度还不错,可以考虑。谢谢!
    macrosea
        15
    macrosea  
       2021-06-03 21:36:09 +08:00 via iPhone
    kurento
    abcbuzhiming
        16
    abcbuzhiming  
       2021-06-04 16:08:49 +08:00
    我想请教个问题,自建直播要怎么解决带宽问题?
    Visitor233
        17
    Visitor233  
    OP
       2021-06-04 18:39:56 +08:00
    @abcbuzhiming 大宽带+CDN 分发
    joynvda
        18
    joynvda  
       2021-06-04 23:25:26 +08:00
    rtmp 的路不好走。264 为主; 265 要魔改;如果只是送到云端再用公有云来分发,感觉 SRT 的未来会长一些。支持 265 就能省了不少带宽。

    又或者考虑 webrtc ;基于这个的服务器好像有开源的吧?不肯定呢
    Visitor233
        19
    Visitor233  
    OP
       2021-06-09 16:27:29 +08:00
    @joynvda 有不少支持 webrtc 的,SRS 和 ZLMediaKit 。rtmp 是在慢慢没落,但小程序这边还是 rtmp 占多,现在没有一个能支持全平台的方案,只能看需求挑选用吧。我也想转 hls
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2663 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 12:15 · PVG 20:15 · LAX 05:15 · JFK 08:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.