LLaMA2
147 天前
明白了,你这个直播属于商业行为,
需要备案,谁运营谁备案,不过即便你是开发者,你们也要对资质有所准备,避免法律的铁锤!
直播摄像头比较容易,以我做过的 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,只能砍帧率才能做到
不延时直播
如果需要直播主播的桌面还需要更多的技术