如何搭建一个完整的视频直播系统?

朋友打算打造一个全新模式的视频直播平台,主要功能有些类似现在很多的美女直播平台。假设前期同时在线观看人数为2W人,清晰度不低于720P,拥有美颜、混音…
关注者
9,075
被浏览
926,797

170 个回答

视频直播,可以分为 采集,前处理,编码,传输,解码,渲染 这几个环节,下面分别说下:

采集,iOS是比较简单的,Android则要做些机型适配工作,PC最麻烦各种奇葩摄像头驱动,出了问题特别不好处理,建议放弃PC只支持手机主播,目前几个新进的直播平台都是这样的。

前处理,现在直播美颜已经是标配了,80%的主播没有美颜根本没法看。美颜算法需要用到GPU编程,需要懂图像处理算法的人,没有好的开源实现,要自己参考论文去研究。难点不在于美颜效果,而在于GPU占用和美颜效果之间找平衡。GPU虽然性能好,但是也是有功耗的,GPU占用太高会导致手机发烫,而手机发烫会导致摄像头采集掉帧,可能原因是过热会导致CPU降低主频。

编码,肯定要采用硬编码,软编码720p完全没希望,勉强能编码也会导致CPU过热烫到摄像头。硬编码兼容性又是一个大坑,android上要有人去填。编码要在分辨率,帧率,码率,GOP等参数设计上找到最佳平衡点。

传输,自己做不现实,交给CDN服务商吧,也就是贵了点,相信有志于做直播平台改变世界的你不差钱。假设2W PCU大约每月带宽费用100万左右,因为清晰流畅的720p要1.5mbps左右。CDN只提供了带宽和服务器间传输,发送和接收端的网络连接抖动缓冲还是要自己写的。不想要卡顿,必然要加大缓冲,会导致延迟高,延迟高影响互动性,要做权衡。

解码,也肯定要硬解码,目前手机普遍支持硬解了,只是android上还是有兼容性大坑要填。

渲染,这个难点不在于绘制,而在于音画同步,目前几个直播做得都不好。

此外音频还有几个坑要填,比如降噪,音频编码器的选择,各种蓝牙耳机,各种播放模式的适配等,如果你想做主播和观众连线聊天,还有个回声消除问题。

以上是媒体模块,还有信令控制,登录、鉴权、权限管理、状态管理等等,各种应用服务,消息推送,聊天,礼物系统,支付系统,运营支持系统,统计系统等。

后台还有数据库,缓存,分布式文件存储,消息队列,运维系统等。

这些显然不是一个程序员能解决的,如果真的有这样的高手,请联系我,无论你现在薪水多少,我都出两倍。

第一期至少要融资2000万RMB,组建至少10人的技术团队,10人的产品运营团队,争取3个月产品上线,半年达到5W在线(2w 根本不够)然后融资1个亿,或许还有希望一搏。

也许有人对带宽问题存疑,请参考欢聚时代15年四季度财报,带宽成本为人民币1.611亿元,折合每月5000+万,当然不能用这个数去推算在线人数,因为YY采购量很大所以带宽平均成本低,而且YY不只是高清直播,还有很大比例的500kbps左右码率的直播,还有相当一部分带宽是靠P2P解决的。总之带宽非常贵。

祝你朋友好运。

谢邀。刚刚接手

全民TV

的研发团队不久,短期内还在疯狂填坑,在我看来,视频直播项目的研发算是涉及绝大多数主流互联网技术,整体做下来修为可以提升不少,大概把眼前的问题想了一下:

  • PC、Android、iOS三大平台(一般互联网创业项目标配)
  • 每个平台要做2种端:面向客户的直播端,和面向主播的推流端(标配x2)
  • 视频编码涉及非常多的技术参数和细节(领域特殊技术)
  • 完整的礼物系统、支付系统、运营系统、任务系统(不亚于一般页游项目)
  • 即时聊天IM服务(弹幕,既要保证实时性,又要抗住高并发)
  • 视频推流拉流链路依赖第三方CDN(超越一般创业项目的运维成本)
  • 因为涉及钱的问题,经常与各种黑暗势力斗争(色情、广告、刷小号、刷充值、告侵权、DDoS等等)
@姚冬

大神 回答了很多视频直播相关的技术难点,这算是视频直播中最核心的技术之一了,但对于创业团队来说,还有更多技术攻坚之外的技术压力:

  • 即使聊天IM技术难度也很大啊,尼玛一个大主播的直播间有十几万人同时在线,一个人发消息要十几万人都收到啊,大主播还经常带节奏,十几万人一起发消息要十几万人一起收啊,想象这个瞬间的高峰是个什么鬼!
  • 视频直播的链路很长,CDN经常坑爹啊,主播推流客户端各种乱配,运营商各种劫持,出了问题都不知道甩锅给谁啊!
  • 支付系统一定要仔细搞啊,每个环节都要仔细想清楚各种异常情况啊,所有消费都要有流水记录,警惕苹果黑卡啊
  • 研发团队不好招人啊,我每周筛选6、70份简历,安排面试1、20人,也才能敲定3、4个offer,以这样的强度估计还要再坚持几个月啊
  • 各种合作方的接入,各种赛事活动的接入,市场、运营、产品、客服各方都给你提需求啊,一个人要掰成好几个人用
  • 即便如此,作为研发,看到不顺心的代码还是想重构啊,要在高速公路上冒着烟极速飞奔的汽车上,一边开车一边换轮胎啊!
  • 团队快速扩张,彼此要磨合,管理能力还要能跟上啊,新人大量加入,还要安排好工作啊。

总之过去的一个月我是感觉自己无论在技术能力还是管理能力上的进步好像都超过了此前5年在大公司积累的总和,做视频直播项目真的很虐心,也真的非常磨练人,现在整个视频直播领域狼烟四起,颇有当年百团大战的意味,作为研发,我想要是能与现在的团队一起奋斗成长,并在这个领域争得一块立足之地,也算是一项非常了不起的成就了。

如果你仅仅为了一个构想的新模式而尝试涉足我觉得现在这个时间点已经没有必要了,各方面资源的投入成本都会非常非常高,做个demo玩玩还行,深入做下去真是山高路远坑深。

顺便打个广告,为我的团队招人,可以发简历到 zhangyunlong@qmtv.com