摘要: 视频直播,可以分为 采集,前处理,编码,传输,解码,渲染 这几个环节 采集,前处理,现在直播美颜已经是标配了,美颜算法需要用到GPU编程,需要懂图像处理算法的人,没有好的开
视频直播,可以分为 采集,前处理,编码,传输,解码,渲染 这几个环节
采集,前处理,现在直播美颜已经是标配了,美颜算法需要用到GPU编程,需要懂图像处理算法的人,没有好的开源实现,要自己参考论文去研究。难点不在于美颜效果,而在于GPU占用和美颜效果之间找平衡。GPU虽然性能好,但是也是有功耗的,GPU占用太高会导致手机发烫,而手机发烫会导致摄像头采集掉帧,可能原因是过热会导致CPU降低主频。
编码,肯定要采用硬编码,软编码720p完全没希望,勉强能编码也会导致CPU过热烫到摄像头。硬编码兼容性又是一个大坑,android上要有人去填。编码要在分辨率,帧率,码率,GOP等参数设计上找到最佳平衡点。
传输,交给CDN服务商,也就是贵了点。假设2W PCU大约每月带宽费用100万左右,因为清晰流畅的720p要1.5mbps左右。CDN只提供了带宽和视频服务器间传输,发送和接收端的网络连接抖动缓冲还是要自己写的。不想要卡顿,必然要加大缓冲,会导致延迟高,延迟高影响互动性,要做权衡。
解码,也肯定要硬解码,目前手机普遍支持硬解了,只是android上还是有兼容性大坑要填。
渲染,这个难点不在于绘制,而在于音画同步,目前几个直播做得都不好。
此外音频还有几个坑要填,比如降噪,音频编码器的选择,各种蓝牙耳机,各种播放模式的适配等,如果你想做主播和观众连线聊天,还有个回声消除问题。
以上是媒体模块,还有信令控制,登录、鉴权、权限管理、状态管理等等,各种应用服务,消息推送,聊天,礼物系统,支付系统,运营支持系统,统计系统等。
后台还有数据库,缓存,分布式文件存储,消息队列,运维系统等。
直播app是都是用到视频服务器来辅助完成直播的相关业务
斗鱼、yy、战旗、火猫这些游戏直播网站的服务器基本都是租借服务器,
做直播行业,选择一个好的IDC尤为重要
做直播行业,主要看流量在哪方,如果是自己搭建平台,则更看重带宽和存储,如果主要网络应用,把本地终端搬运的内容上传以及去别的内容平台或者供方调用内容,这些是要跑流量,而且对带宽要求比较大,一般一个30分钟的视频,就要好几百m,视频总量决定存储需求,每天搬运量决定流量需求,量越大,对视频服务器的处理性能也越高。
举个例子,100m带宽,理论下载峰值12.5mbps,正常10m,一个1G视频,大约需要2分钟,线路是要看视频源,推介多线 BGP
相关文章推荐
智能手机建站的优点是什么?网站页面布局有哪些关键点? 2022-01-10
2022年中国云计算面临的问题及发展前景预测分析2021-12-28
绿色智能基础设施连接可持续未来-IDCC2021万国数据第一代Smart DC发布会议程揭晓2021-12-27
阿里云:早期未意识到Apache log4j2漏洞情况的严重性 将强化漏洞管理2021-12-27
云计算开发:Python3-replace()方法详解2021-12-27