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

请教有直播 App 开发经验的朋友两个问题

  •  
  •   XinPingQiHe · 83 天前 · 1352 次点击
    这是一个创建于 83 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1, 直播 App 上线非常复杂吗?客户刚刚新注册的公司,能否申请下来相关资质?

    2 ,是否有开源产品可以替代的,私有化部署的直播 App ,自己搭建服务器,内部人员使用。

    **说明,不涉及违法的事情,就是客户方不希望走公共直播平台。

    希望有经验的朋友 给指点一二,谢谢!

    14 条回复    2024-09-04 09:56:33 +08:00
    Amant
        1
    Amant  
       83 天前   ❤️ 1
    1. 如果采集、推、拉流都自己开发的确很复杂,但目前市场上都有成熟的解决方案了;相关资质可以找"代办公司"
    2.开源产品:( https://github.com/ossrs/srs)、( https://github.com/ant-media/Ant-Media-Server?tab=readme-ov-file
    XinPingQiHe
        2
    XinPingQiHe  
    OP
       83 天前
    @Amant 非常感谢!
    wxw752
        3
    wxw752  
       83 天前
    我们公司是做医疗会议直播的,资质申请非常复杂。全自研问题很多,我们到现在还是三条线路互相备份,没有完全切到自研的线路提供服务。

    如果肯氪金,用阿里云推拉流的云服务就行了,随便套个网页播放 m3u8
    Ranhao
        4
    Ranhao  
       83 天前
    1 、资质申请非常复杂,部分资质证件在某些省甚至不开放申请了
    2 、如果就内部人员自己用,https://github.com/ossrs/srs 是个好方案

    ps:直播如果自己搭建,不走内网,要考虑带宽问题
    XinPingQiHe
        5
    XinPingQiHe  
    OP
       83 天前
    @wxw752 @Ranhao 谢谢提供帮助!
    CNCN666
        6
    CNCN666  
       83 天前
    资质找中介代办就行了。
    或者直接买资质齐全的壳公司。
    XinPingQiHe
        7
    XinPingQiHe  
    OP
       83 天前
    @CNCN666 是啊,资质的事情 已跟上面汇报
    andyskaura
        8
    andyskaura  
       82 天前
    技术方案可以走 webrtc+SFU 服务器+cdn 的模式
    XinPingQiHe
        9
    XinPingQiHe  
    OP
       82 天前
    @andyskaura 谢谢 说的很具体
    LLaMA2
        10
    LLaMA2  
       82 天前
    请列出你需要支持的端,实际直播场景,画质,延时等要求

    我看看没有有用的建议给你
    XinPingQiHe
        11
    XinPingQiHe  
    OP
       82 天前
    @LLaMA2 谢谢,目前大致这么个情况:
    合作伙伴的目前设想:
    1 、App ,主要是安卓。后期考虑也做 ios 平台。
    2 、主播需要后台做资格审核,审核通过后,可以发起直播。
    3 、直播后的 n 个月内用户可以看录像。( n 可以设置)
    4 、直播和观看过程中低延迟、高稳定性。
    5 、用户关注或者购买主播的课程后,有直播列表,可以观看直播。直播时,在主播控制下,可以与观众问答/视频等互动。
    6 、后台提供必要手段,用于审核、监控、数据分析,所有正在进行的直播,后台也可以紧急介入(如出现状况,可切断对应直播)。
    7 、目前场景 规模不大,每个主播面对人数在数百人(不过千),所有未来主播人数也就几百个人。
    XinPingQiHe
        12
    XinPingQiHe  
    OP
       82 天前
    总管理后台,是 pc 端 web 管理; 主播及观看用户,都是在 app 里操作。
    LLaMA2
        13
    LLaMA2  
       82 天前   ❤️ 1
    明白了,你这个直播属于商业行为,
    需要备案,谁运营谁备案,不过即便你是开发者,你们也要对资质有所准备,避免法律的铁锤!

    直播摄像头比较容易,以我做过的 android 来说就是摄像头 nv21(yuv420p)转 h264,声音 pcm 转 aac
    然后推流到服务器,服务器分发给观看一侧,观看一侧如果是 web 比较好处理,如果是移动端,你可能需要处理通知问题(主播开播,客户收到提醒进入观看)

    不过我不确定你是否需要通知,ios 你走苹果推送,android 也可以接各自厂家的推送,如果不想的话(各厂家要求不一,实在接不过来)就得上常驻通知栏的服务实现通知以满足尽可能高送达率

    服务器一侧自研成本比较高,接阿里\腾讯\等等都可以
    自研的服务器在运营时带宽是个大问题,每个观看人需求各 300KB/s 也不得了.


    审核、监控、数据分析必定要买阿里腾讯他们的服务实现.自研我是没试过,我自己有多大能力我很清楚

    切断直播很容易,主播必然要推流到你的服务,你在服务的地方可以中断推流,直播自然就中断了


    之前就使用直播的套路实现 2 个人打视频电话的功能,app 侧实现,所以了解一点.不过我由于 2 人互相直播,所以就不用推流服务器,直接手鲁的 websocket 实现,



    微信小程序的推流实现要资质(没有资质不能调用微信小程序的特定的直播组件 ).
    不过也可以使用微信小程序的 camera 和 app 的捕获摄像头->转码->推流的套路绕过资质问题
    测试过我的骁龙 845 只能实现 480*640 15 帧, 摄像头有 30fps, 但是 x264 的 wasm 实现解码超过 30ms,只能砍帧率才能做到
    不延时直播


    如果需要直播主播的桌面还需要更多的技术
    XinPingQiHe
        14
    XinPingQiHe  
    OP
       81 天前
    @LLaMA2 谢谢,您确实实战经验满满的,大赞
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   997 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 19:14 · PVG 03:14 · LAX 11:14 · JFK 14:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.