拉流和推流的区别如下:
推流指的是把采集阶段封包好的内容传输到服务器的过程,而拉流是指服务器已有直播内容,用指定地址进行拉去的过程。
主流的推送协议和优缺点
RTMP
RTMP是Real Time Messaging Protocol(实时消息传输协议)的缩写,是Adobe公司为Flash/AIR平台和服务器之间音、视频及数据传输开发的实时消息传送协议。RTMP协议基于TCP,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。
HLS
Http Live Streaming是由Apple公司定义的基于HTTP的流媒体实时传输协议。它的原理是将整个流分为多个小的文件来下载,每次只下载若干个。服务器端会将最新的直播数据生成新的小文件,客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。
WebRTC
WebRTC(Web Real-Time Communication),即“源自网页即时通信”。WebRTC是一个支持浏览器进行实时语音、视频对话的开源协议。WebRTC的支持者甚多,Google、Mozilla、Opera推动其成为W3C推荐标准。
1、从推流到拉流的通道,这当中包括数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示整个流程;
2、内容复制分发,也就是cdn这块,服务器收集到主播视频后再通过在全国各地的节点将视频内容分发到终端。cdn是直播中最贵的,技术难度较高,一般都是采用第三方的;如果自己做的话,也需要和cdn厂商对接有经验的技术,不然的话自己做会花费很长的时间和精力还不一定能够达到市场上完善的水平,很可能就会是给自己埋了一颗定时炸d,一到承受临界点就会“爆炸”
3、美颜:美颜涉及到复杂的算法和图像处理技术,美颜起初是用于图片上,目前图片上的美颜技术已经较为成熟,然而在视频上的美颜还需要很长的路要走,这个技术点也是比较难得,缺少了这个功能的话我相信你的直播平台肯定是不会有很多人愿意参与的;
4、聊天室:我们在看直播的时候,还可以在聊天室中聊天,这是应用了im及时通讯中的聊天室功能,聊天室和群聊的区别是,只有用户进入聊天室才能发言,看到好友,退出聊天室后就类似于退群,就收不到消息,看不到用户,看不到聊天记录了;
5、服务器:对于直播产品来说,流量变化是非常大的,一天中直播的流量高峰期基本在晚上,有时候搞个活动,或者某个名人来直播流量猛增,你的服务器承受不了的话肯定是要报废的,影响正常的用户体验从而降低自己直播平台的使用度。
这基本上就是一个直播系统开发的完整流程,你要相信每一步都不是简简单单就能都做到的,每一个模块流程都是一个技术需求点,所以真正想有一套自己的直播系统除了自己找有经验的人开发就是找第三方来帮忙开发了。
因为不管是在技术门槛、CDN、带宽上都是有很大门槛的,还要选择好适合自己的第三方视频云,技术上面必须要有支持否则一旦出现问题你将“死无葬身之地”。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)