推流
推流,就是将采集到的音频、视频数据经过流媒体协议发送到流媒体服务器。推流对这个直播链路影响很是大,若是推流的网络不稳定,不管咱们如何作优化,观众的体验都会很糟糕,因此也是咱们排查问题的第一步。推送协议主要有三种:
(1)RTSP(Real Time Streaming Protocol):实时流传送协议,是用来控制声音或影像的多媒体串流协议, 由Real Networks和Netscape共同提出的;
(2)RTMP(Real Time Messaging Protocol):实时消息传送协议,是Adobe公司为Flash播放器和服务器之间音频、视频和数据传输 开发的开放协议;
(3)HLS(HTTP Live Streaming):是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议。
RTMP 是目前主流的流媒体传输协议,普遍用于直播领域,能够说市面上绝大多数的直播产品都采用了这个协议,也有部分使用HLS协议。算法
难题服务器
1、从推流到拉流的通道:这当中包括数据采集→数据编码→数据传输(流媒体服务器)→解码数据→播放显示整个流程;
2、内容复制分发:也就是CDN这块,服务器收集到主播的视频再经过节点讲视频内容分发到各个终端。CDN在直播中技术要求较高,也是最贵的,通常采用第三方,若是是本身作的话也要和CDN厂商对接经验技术
3、美颜:美颜对于主播来讲是十分重要的一个功能。美颜功能看似简单,其实涉及到复杂的算法和图片处理技术。美颜功能最早出现于图片上,目前图片上的美颜功能已经较为成熟,视频直播上的美颜还有很长的路须要走
4、聊天室:咱们在观看直播的时候,还能够在聊天室中进行聊天,这就是应用了IM及时聊天室。聊天室和群聊的区别就是,用户只有进入聊天室才可以看到好友,进行聊天,退出聊天室后就看不到好友同时也不可以查看聊天记录。
5、服务器:对于直播产品来讲,流量的变化是很是大的,直播中,一天流量的高峰期是在晚上,对于一些网络红人的直播或者是明星的直播,流量会一会儿暴涨,流量的忽高忽低天然就对服务器提出了更高的要求。
视频直播开发是一个庞大的工程,搭建过程当中出现的绝对不仅是以上几个问题,整个搭建过程必需要严谨专业,否则搭建后期会出现更多的问题甚至致使软件不可以正常的运行。这就对开发者的技术提出了很高的要求。网络