我想开发一套直播系统 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
puzzle9
V2EX    程序员

我想开发一套直播系统

  •  
  •   puzzle9 2020-01-15 10:10:32 +08:00 via Android 10541 次点击
    这是一个创建于 2175 天前的主题,其中的信息可能已经有所发展或是发生改变。

    都说不要重复开发轮子

    可我还是想来 莫非因为闲的慌

    目前只用过微擎的几款直播

    用的是 阿里的直播 腾讯的 im

    解密代码后有点感觉是服务器性能测试器

    然后就想基于现成的开发出一套自己的直播系统

    分为两种

    直播购物

    直播礼物

    打算管理用 laravel

    api 用 koa

    前端用 vue

    后面应该会加入小程序

    评估下工作量

    就觉得 css 好难

    开发后作为来源 具体怎样还没想好

    各位觉得这个是不是一种闲得慌让感性大脑占据理性大脑后做出来的荒谬决定

    我也在想

    我把他整出来是为啥

    可是他们代码真的能用

    84 条回复    2020-07-29 10:19:00 +08:00
    tankren
        1
    tankren  
       2020-01-15 10:20:23 +08:00   1
    签好了几个网红?
    MyFaith
        2
    MyFaith  
       2020-01-15 10:24:52 +08:00
    开源吗
    gochat
        3
    gochat  
       2020-01-15 10:31:53 +08:00
    Google search

    site:github.com goim, online chat, im server
    vivipure
        4
    vivipure  
       2020-01-15 10:38:33 +08:00
    做一套系统,有很多 UI 库,CSS 是最不需要关心的。
    yuutan
        5
    yuutan  
       2020-01-15 11:18:33 +08:00
    lz 如果造轮子想体现什么设计思想的话,还是很有意义的
    hyyou2010
        6
    hyyou2010  
       2020-01-15 11:42:26 +08:00
    个人的话,是不是搞点简单的好?
    sunziren
        7
    sunziren  
       2020-01-15 11:49:27 +08:00   24
    写诗呢您这是
    missdeer
        8
    missdeer  
       2020-01-15 12:01:33 +08:00   1
    楼主是被直播耽误了的诗人
    BernieDu
        9
    BernieDu  
       2020-01-15 12:09:31 +08:00
    挺押韵。不看好
    mrdemonson
        10
    mrdemonson  
       2020-01-15 12:18:14 +08:00 via Android
    软件不值钱,资源才值钱
    Andy1999
        11
    Andy1999  
       2020-01-15 12:41:24 +08:00 via iPhone
    上一个搞个人直播的现在还在橘子里
    Chenamy2017
        12
    Chenamy2017  
       2020-01-15 13:37:53 +08:00
    好奇你想直播什么?
    iamwho
        13
    iamwho  
       2020-01-15 13:40:56 +08:00
    你昨晚做了两个梦,一个是做直播系统,另外一个也是做直播系统。
    puzzle9
        14
    puzzle9  
    OP
       2020-01-15 14:37:51 +08:00 via Android
    @MyFaith 开源 就是因为看不下去才这样整的
    puzzle9
        15
    puzzle9  
    OP
       2020-01-15 14:38:07 +08:00 via Android
    @gochat 好方案
    puzzle9
        16
    puzzle9  
    OP
       2020-01-15 14:38:28 +08:00 via Android
    @hyyou2010 我觉得这可能是个机会
    puzzle9
        17
    puzzle9  
    OP
       2020-01-15 14:38:54 +08:00 via Android
    @Chenamy2017 只做学习使用 直播什么是后话了
    laravel
        18
    laravel  
       2020-01-15 14:48:15 +08:00
    我用 yasea 做推流( android ),ijkplayer 做播放器,服务端用 rtmp-nginx-module 做了一个鱼缸直播
    挺好玩的,到了 5G 时代,直播应该没有延迟了吧,那时候就可以做一些性爱产品了。
    m939594960
        19
    m939594960  
       2020-01-15 14:49:14 +08:00
    @laravel #18 "那时候就可以做一些性爱产品了。"
    puzzle9
        20
    puzzle9  
    OP
       2020-01-15 14:51:12 +08:00 via Android
    @laravel 我想起来一句话 如果你在国外 我请你喝咖啡 如果你在国内 自求多福 / 这确实是个方案 可以整整
    longkas
        21
    longkas  
       2020-01-15 14:52:07 +08:00 via Android
    “可是他们代码真的能用” 是要偷代码吗
    puzzle9
        22
    puzzle9  
    OP
       2020-01-15 14:53:57 +08:00 via Android
    @longkas 不不不
    就是开发有一点 由原先的精益求精 到最后的 能用就行
    这是个巨大的思维转变和给后人留坑的开始
    piaoxue
        23
    piaoxue  
       2020-01-15 14:55:48 +08:00
    @laravel 期待你的表演~
    piaoxue
        24
    piaoxue  
       2020-01-15 14:58:32 +08:00
    @puzzle9 大佬我想问一下你,快手,抖音,斗鱼,B 站,虎牙这些直播用的是哪些技术,是自己研发的还是前人造好的轮子?
    Dogergo
        25
    Dogergo  
       2020-01-15 15:01:47 +08:00
    @sunziren 写诗戳到笑点
    jowan
        26
    jowan  
       2020-01-15 15:02:43 +08:00   1
    我就是用 laravel+swoole+vue 开发的一套电商直播系统
    弹幕、礼物用 swoole 开发
    直播服务用阿里云
    如果有推流设备就不需要做客户端
    如果要个性化一点的手机直播 就再做个移动推流 App
    都有现成的解决方案 没什么难度
    129ykx733D016U2n
        27
    129ykx733D016U2n  
       2020-01-15 15:03:13 +08:00
    别想,说干就干
    puzzle9
        28
    puzzle9  
    OP
       2020-01-15 15:09:35 +08:00 via Android
    @piaoxue 继续现成技术 自己研发 不然被封或者针对 就
    puzzle9
        29
    puzzle9  
    OP
       2020-01-15 15:10:21 +08:00 via Android
    @jowan 看来这是个全栈 可以可以
    zorichen
        30
    zorichen  
       2020-01-15 15:20:20 +08:00
    从运营的角度,直播的门槛不是系统,是内容,是传播
    fanfou
        31
    fanfou  
       2020-01-15 15:31:27 +08:00
    我也曾有这个想法,工作量有点大又懒,所以。。。
    heiheidewo
        32
    heiheidewo  
       2020-01-15 15:35:40 +08:00
    功能做出来简单,但是效果要好的话有点难,不然声网的解决方案为啥卖那么贵
    stephenyin
        33
    stephenyin  
       2020-01-15 15:54:30 +08:00
    sanggao
        34
    sanggao  
       2020-01-15 16:19:53 +08:00
    @jowan 请大佬科普一下推流
    puzzle9
        35
    puzzle9  
    OP
       2020-01-15 17:08:41 +08:00
    @fanfou 不妨尝试加油 任性一次
    xsen
        36
    xsen  
       2020-01-15 17:16:04 +08:00
    @laravel #18
    有没延迟,跟是否 5g 时代,确实没有关系。比如 rtmp/hls 这些延迟,是其方案就决定的
    nikandaoleshenme
        37
    nikandaoleshenme  
       2020-01-15 17:17:41 +08:00
    不考虑你的软件,就说硬件 有几个千兆网卡?有公网 IP 么? 备案了么? 视频清晰度 480 ? 720 ? 1080 ? 2K ? 4k ? CPU 够用么?
    youxiachai
        38
    youxiachai  
       2020-01-15 17:21:43 +08:00
    @laravel ijkplayer B 站那个? 看了一下好久没更新了...
    xsen
        39
    xsen  
       2020-01-15 17:22:22 +08:00
    纯软件的产品,从运营的角度来说,技术都不会是问题(极少部分除外)
    urmyfaith
        40
    urmyfaith  
       2020-01-15 17:26:24 +08:00
    巨坑.
    5G
        41
    5G  
       2020-01-15 17:27:53 +08:00
    css 是一切想接触 Web 开发的人的障碍
    laravel
        42
    laravel  
       2020-01-15 17:45:12 +08:00
    @youxiachai 将就着用吧
    laravel
        43
    laravel  
       2020-01-15 17:45:41 +08:00
    @xsen 我在公司试了下,延迟达到了 5 秒差不多
    puzzle9
        44
    puzzle9  
    OP
       2020-01-15 17:50:57 +08:00
    @nikandaoleshenme 单从软件角度考虑 不用这么复杂 然后如果加上一些特殊的人群 还是有点机会的
    puzzle9
        45
    puzzle9  
    OP
       2020-01-15 17:51:23 +08:00
    @5G 英雄所见略同 不过你这 ID 不错
    puzzle9
        46
    puzzle9  
    OP
       2020-01-15 17:51:44 +08:00
    @urmyfaith 年轻何尝不拼搏一把
    xsen
        47
    xsen  
       2020-01-15 17:51:50 +08:00
    @laravel #43
    若要低延迟的话,要用 webrtc 的方案。基本可以保证可以做到 1 秒以内,网络状况好的话,500ms 也可以达到
    puzzle9
        48
    puzzle9  
    OP
       2020-01-15 17:53:40 +08:00
    @xsen 这个现在估计没有商人愿意做 想想也挺有趣的
    xsen
        49
    xsen  
       2020-01-15 17:59:00 +08:00
    @puzzle9 #48
    很多,据我说知道的,相当部分一二线的大中厂,都基于 webrtc 做自己的直播系统,应该说是视频云因为搭建起来之后,直播、点播、安防、教育与视频会议等,都是支持的

    当然,这个核心是全球布点的 cdn 网络,加上基础设施。当然,也会投入人力物力,对延迟做优化。方向呢,比如编码算法、带宽预测(如引入深度学习预测带宽)、优化 qos 机制与算法等
    xsen
        50
    xsen  
       2020-01-15 18:01:14 +08:00
    优化的方向,其实一个是流量,一个就是延迟。流量是节省成本,延迟是提高体验
    也有会结合类似超分辨率的
    DNA
        51
    DNA  
       2020-01-15 18:14:40 +08:00
    mark 一下,支持开源
    想干就干,别想那么多
    Sapp
        52
    Sapp  
       2020-01-15 18:31:10 +08:00
    你要是干着玩无所谓,我这也干过,没多难,但是做出来是真的基本不能用的水平,只能说确实是个直播,其他就别想了,这是个要花大精力去做优化的事情
    cgpiao
        53
    cgpiao  
       2020-01-15 18:39:36 +08:00
    我对 IM 和流感兴趣,但我算是 Java 系的,希望用 kotlin 研究一个出来。
    AyanamiRei
        54
    AyanamiRei  
       2020-01-15 19:09:27 +08:00
    水很深, 推拉流, 图像处理, 一般都是用第三方接口的
    JCZ2MkKb5S8ZX9pq
        55
    JCZ2MkKb5S8ZX9pq  
       2020-01-15 19:17:37 +08:00
    做过一阵工会,也接触过几个后台,百度云和腾讯云的,东西都差不多吧。
    当年龙珠还没有手机直播,也写过手机直播的 App,无非就是 iOS 强制套 js 和 css,魔改龙珠的网页版 UI,然后把推流密码拿到,自动 rmtp 开播推流。
    好像是 16 年春节的事儿,感觉三四年前就挺成熟了吧。

    有兴趣可以研究下业务,给工会或者主播做点增值服务,一方面熟悉行业,也许还能有收益。
    leonard916
        56
    leonard916  
       2020-01-15 20:31:06 +08:00
    玩下技术可以 运营没个几个亿 根本起不来
    leonard916
        57
    leonard916  
       2020-01-15 20:32:26 +08:00
    @cgpiao red5 了解一下? OpenFire 了解一下?
    puzzle9
        58
    puzzle9  
    OP
       2020-01-15 21:08:49 +08:00 via Android
    @cgpiao 加油 相信自己
    puzzle9
        59
    puzzle9  
    OP
       2020-01-15 21:09:16 +08:00 via Android
    @AyanamiRei 对 用第三方 确实没啥难度
    puzzle9
        60
    puzzle9  
    OP
       2020-01-15 21:09:47 +08:00 via Android
    @leonard916 技术无价 暂时不考虑运维 直播也不一定是大家想的直播啊
    aWhasuka
        61
    aWhasuka  
       2020-01-15 21:47:44 +08:00
    nginx rtmp 推拉流吗。
    ethusdt
        62
    ethusdt  
       2020-01-15 22:41:32 +08:00 via iPhone
    借楼问下开发直播功能需要有什么资质吗?商用。
    puzzle9
        63
    puzzle9  
    OP
       2020-01-16 00:33:53 +08:00 via Android
    @aWhasuka 是一种解决方案 还有 github 有大佬用 go 实现了一个 还有基于现成的
    puzzle9
        64
    puzzle9  
    OP
       2020-01-16 00:34:58 +08:00 via Android
    @FaiChou
    开发直播 不需要资质
    如果运营 也不需要资质
    在腾讯家的除外
    liuxyon
        65
    liuxyon  
       2020-01-16 00:50:09 +08:00
    做类似 youtbe 的也可以,前提肯定用国外网.
    zzlettle
        66
    zzlettle  
       2020-01-16 02:32:10 +08:00
    熊猫把王思聪的 20 个亿都烧没了
    你有几个小目标,想完直播?
    Perry
        67
    Perry  
       2020-01-16 02:37:30 +08:00
    开发幻想 is the new porn to programmers
    msg7086
        68
    msg7086  
       2020-01-16 02:52:12 +08:00
    是不是发在奇思妙想分区会更适合点。
    开发直播系统本身没有太大的用,要做成服务或者平台才行。而做服务和平台,要的首先不是程序员,而是企业家和资本家。有了这两样,有了钱,接下来才是找程序员的问题。我个人觉得,做技术要比捞钱简单得多。只要你坚持不懈钻研技术,你总能吃透它。但是捞钱可能就没那么好捞了。
    ethusdt
        69
    ethusdt  
       2020-01-16 09:16:28 +08:00
    @puzzle9 谢谢, 我以为直播类需要监管, 申请资质呢.
    各大安卓市场与 iOS AppStore 是否也不需要提交任何审核材料?
    UIXX
        70
    UIXX  
       2020-01-16 09:28:48 +08:00
    你自己也意识到了,你是为了什么而开发?

    这个问题没有得到详细考虑之前,不建议动手。
    puzzle9
        71
    puzzle9  
    OP
       2020-01-16 10:14:07 +08:00 via Android
    @liuxyon 确实是这样 为了自由
    puzzle9
        72
    puzzle9  
    OP
       2020-01-16 10:14:26 +08:00 via Android
    @zzlettle 他是运营 我是开发 这两个没什么太大关联
    puzzle9
        73
    puzzle9  
    OP
       2020-01-16 10:14:58 +08:00 via Android
    @Perry // porn
    puzzle9
        74
    puzzle9  
    OP
       2020-01-16 10:18:29 +08:00 via Android
    @msg7086 当时思考了下 主要是考虑用什么架构 所以发到了这里 不过现在看来 发到奇思妙想可能更合适点
    只为某种情况提供一套便宜的可持续的解决方案
    开发只为了兴趣 运维是后话

    技术没有商务吃香
    两个不是一个纬度

    不过你的头像不错
    lc7029
        75
    lc7029  
       2020-01-16 10:19:25 +08:00
    如果用户量大,用组播代替单播
    puzzle9
        76
    puzzle9  
    OP
       2020-01-16 10:26:16 +08:00 via Android
    @FaiChou 有个简单的方案 不过比较损
    你直接开起来 然后等大的话 他们自然会告诉你需要办什么证
    期待你能走到后面那一步

    上架的话
    我没有深入了解过
    你可以在知乎上搜搜

    祝好运
    puzzle9
        77
    puzzle9  
    OP
       2020-01-16 10:27:05 +08:00 via Android
    @UIXX 有时候
    如同恋爱一样
    看对眼是瞬间的事情
    过后想想
    也算不亏
    这可能就是青春吧
    nanoha
        78
    nanoha  
       2020-01-16 10:27:18 +08:00
    要做的话到时候别忘了发下 git 地址
    想学习一下
    puzzle9
        79
    puzzle9  
    OP
       2020-01-16 10:29:07 +08:00 via Android
    @nanoha 好像终于明白为什么这么多收藏了
    puzzle9
        80
    puzzle9  
    OP
       2020-01-16 10:29:35 +08:00 via Android
    @lc7029 还可以考虑 p2p 等等一系列
    8bit
        81
    8bit  
       2020-01-16 17:30:14 +08:00
    @tankren 如果是大佬的话,自己打码,自己女装
    liuxyon
        82
    liuxyon  
       2020-01-21 22:24:51 +08:00
    我可以提供网络进行测试
    tflz514
        83
    tflz514  
       2020-07-28 18:43:27 +08:00
    @jowan 大佬,想问下直播服务为什么用阿里云而不是声网? 怎么考虑的
    puzzle9
        84
    puzzle9  
    OP
       2020-07-29 10:19:00 +08:00   1
    @tflz514 我觉得因为这个 服务使用人数 论坛的活跃度 前辈的踩坑 最重要的是老板的天平
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     934 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 124ms UTC 22:40 PVG 06:40 LAX 14:40 JFK 17:40
    Do have faith in what you're doing.
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-11940834-2', 'v2ex.com'); ga('send', 'pageview'); ga('send', 'event', 'Node', 'topic', 'programmer'); ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86