怎么搭建直播平台,都需要提供些什么,需要多少时间呢?

就普通的互动直播就可以,上千人同时在线,重要的是不要卡顿,请指教。

未来已来更新于 2018-04-04 09:39
1 个回答
  • 活动主持人2018-04-08 11:14

    千人在线规模只是简化部分技术难度,整个直播流程打通,本身就是一块硬骨头。


    直播涉及通常涉及音视频的采集、编码、传输、解码、播放等五个环节,不卡顿非常重要,不过涉及连麦,延时对体验的影响很大。总的说来,互动直播必须考虑三个重要问题:


    1. 低延时。延时最大不超过500ms,当然越小越好;
    2. 流畅度。每秒最少十几帧,24fps~30fps,接近电影、电视的播放速率 ,用户体验佳;
    3. 清晰度。用客观标准衡量的话,当视频编码后与原始视频的峰值信噪比。要高于30db,主观感受清晰。


    延时包括发送端、网路传输、接收端播放延时,占比最大的是传输延时,传输协议的选择非常关键。常见的协议如RTMP(Real Time Messaging Protocol,实时消息传送协议)、RTSP(Real Time Streaming Protocol,实时流传输协议)、RTP(Real-time Transport Protocol,实时传输协议)、RTCP(Real-time Transport Control Protocol,实时传输控制协议)、WebRTC(Web Real-Time Communication,网页实时通信)等。


    常见的方案采用的RTMP/TCP协议,通过丢包重传、拥塞避免等算法来做拥塞控制,可以保障传输的可靠性,却也在增大了延时。两种解决方案:


    • 修改TCP传输协议栈解决延时问题。
    • 改用UDP传输协议+RTP/RTCP半传输半应用层协议,RTP标准协议是为传输实时多媒体应用而生的,有丰富的扩展以及补充协议,可弥补UDP协议的不足。


    在实际的视频传输过程中,往往还会遇到很多意想不到的问题,比如:


    • 受限于编码器对不同内容图像的编码效率以及压缩率不同,RTP包的产生并不是均匀的,往往会有burst;
    • 在IP网络中,各个分组从发送方到接收方所历经的网络途径可能不同,从而各个分组的传输时延也各不相同,甚至容易发生分组的到达次序发生变化。


    最终在接收端出现乱序、延时抖动、丢包等,用户端出现卡顿、花屏、无法播放等一系列问题,需要选择通过FEC(Forward Error Correction,前向纠错)、ARQ(Automatic Repeat-reQuest,自动重传请求)等方式解决。


                                            网易云互动直播服务抗丢包方案


    以上零零碎碎谈了一些,由于互动直播技术难度很大,保守估计,搞定全平台客户端,以及全网视频流媒体分发网络,30人的专业团队至少也要一年的时间。所以建议(至少是业务验证期)采用第三方的互动直播云服务,经过业务验证的那种,难度、时间、成本、效果都会好很多。即便不着急,即便研发开挂了,那CDN也是需要采用第三方的,分发网络带宽消耗不是谁都能负担的。


                                                                     网易云互动直播架构


    利益相关:网易云提供互动直播解决方案,支持千万级别在线并发,支持多终端,通过自研Dawn协议实现高抗丢包性和带宽自适应,解决网络拥塞直播卡顿的问题,并全方位支持webRTC协议框架,端到端延时低于200ms,卡顿率低于5%,抗800ms网络抖动。1位普通工程师,1天接入