如今的直播发展如此迅猛,不管是短视频APP还是购物APP都开通了直播功能,
下面根据我个人的从业经验讲一下,希望和大家一起学习和提高。
就直播的整个业务逻辑来说,主要分为“采集、前处理、编码、传输、解码、渲染”这几个环节,下面分别说下:
视频编码部分,肯定要采用硬编码,PC端的编码软件,当前“直播大师 Live Master”和“串流直播 iAVCast”都具有硬件加速编码功能,可以直接调用Intel 和Nvidia的硬件进行加速编码,不占用主机CPU的资源。手机视频编码方面,目前软编码720p完全没希望,勉强能编码也会导致CPU过热烫到摄像头。硬编码兼容性又是一个大坑,android上要有人去填。编码要在分辨率,帧率,码率,GOP等参数设计上找到最佳平衡点。
渲染,这个难点不在于绘制,而在于音画同步,目前几个直播做得都不好。
用手机做直播,在前端处理部分,现在直播美颜已经是标配了,80%的主播没有美颜根本没法看。美颜算法需要用到GPU编程,需要懂图像处理算法的人,没有好的开源实现,要自己参考论文去研究。难点不在于美颜效果,而在于GPU占用和美颜效果之间找平衡。GPU虽然性能好,但是也是有功耗的,GPU占用太高会导致手机发烫,而手机发烫会导致摄像头采集掉帧,6尤其明显,因为iPhone6的CPU和前置摄像头很近。
iPhone采集,iOS是比较简单的,Android则要做些机型适配工作,PC最麻烦,要兼容各种摄像头和众多品牌的视频采集卡,开发难度巨大,所以建议做PC端节目采集的时候先选择成熟的软件来实现,目前比较好用的专业PC端直播软件有“直播大师 Live Master”、“串流直播 iAVCast”和 “Flash Media Live Encoder”。
解码,也肯定要硬解码,目前手机普遍支持硬解了,只是android上还是有兼容性大坑要填。
传输,自己做不现实,建议交给给CDN服务商吧,假设2W PCU大约每月带宽费用100万左右,因为清晰流畅的720p要1.5mbps左
右。CDN只提供了带宽和服务器间传输,发送和接收端的网络连接抖动缓冲还是要自己写的。不想要卡顿,必然要加大缓冲,会导致延迟高,延迟高影响互动性,要做权衡。
此外音频还有几个坑要填,比如降噪,音频编码器的选择,各种蓝牙耳机,各种播放模式的适配等,如果你想做主播和观众连线聊天,还有个回声消除问题。
以上是媒体模块,还有信令控制,登录、鉴权、权限管理、状态管理等等,各种应用服务,消息推送,聊天,礼物系统,支付系统,运营支持系统,统计系统等。
后台还有数据库,缓存,分布式文件存储,消息队列,运维系统等。
第一期至少要融资2000万RMB,组建至少10人的技术团队,10人的产品运营团队,争取3个月产品上线,半年达到5W在线(2w 根本不够)然后融资1个亿,或许还有希望一搏。
也许有人对宽带问题存疑,请参考欢聚时代15年四季度财报,带宽成本为人民币1.611亿元,折合每月5000+万,当然不能用这个数去推算在线人数,因为YY采购量很大所以带宽平均成本低,而且YY不只是高清直播,还有很大比例的500kbps左右码率的直播,还有相当一部分带宽是靠P2P解决的。总之带宽非常贵。
现在铺天盖地的直播,从游戏直播、到秀场、到移动端。看似是一块很大的蛋糕,但可以留到最后的,一定是巨头中的一家。
那么搭建一个网络直播平台难度大吗?
千人在线规模只是简化部分技术难度,整个直播流程打通,本身就是一块硬骨头。
直播涉及通常涉及音视频的采集、编码、传输、解码、播放等五个环节,不卡顿非常重要,不过涉及连麦,延时对体验的影响很大。总的说来,互动直播必须考虑三个重要问题:
1.低延时。延时最大不超过500ms,当然越小越好;
2.流畅度。每秒最少十几帧,24fps~30fps,接近电影、电视的播放速率 ,用户体验佳;
3.清晰度。用客观标准衡量的话,当视频编码后与原始视频的峰值信噪比。要高于30db,主观感受清晰。
这次的文章就先说到这里。如果你也有什么意见或者是建议,想咨询一些关于做直播的事情都可以联系我。主页wx。欢迎你的指导。
原文地址:http://blog.51cto.com/14052805/2317128