通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  三级通信军士

注册:2007-10-813
跳转到指定楼层
1#
发表于 2016-12-9 10:28:45 |只看该作者 |倒序浏览
最近研究网络直播技术及体验保障。
直播与点播要求不一样,节目中有交互等,如果延迟太大,就影响效果,因此要求延迟尽可能小。

国内常见公开的直播协议有几个:RTMP、HLS、HDL(HTTP-FLV)、RTP,可达到的延迟性能不太一样。
RTMP协议:是Adobe的专利协议,现在大部分国外的CDN已不支持。在国内流行度很高。相对其他协议而言,RTMP协议初次建立连接的时候握手过程过于复杂(底层基于TCP,这里说的是RTMP协议本身的交互),视不同的网络状况会带来给首开带来100ms以上的延迟。基于RTMP的直播一般内容延迟在2~5秒。

HTTP-FLV协议:
即使用HTTP协议流式的传输媒体内容。相对于RTMP,HTTP更简单和广为人知,而且不担心被Adobe的专利绑架。内容延迟同样可以做到2~5秒,打开速度更快,因为HTTP本身没有复杂的状态交互。从延迟角度来看,HTTP-FLV要优于RTMP。
HLS 协议:
即Http Live Streaming,是由苹果提出基于HTTP的流媒体传输协议。采用m3u8的文件列表顺序小视频TS的方式,延迟较大。目前按同城网络可以做到比较好的效果是5~7秒的延迟,也是综合流畅度和内容延迟的结果。
RTP协议:
即Real-time Transport Protocol,实际应用场景下经常需要RTCP(RTP Control Protocol)配合来使用,在视频监控、视频会议、IP电话上有广泛的应用,因为视频会议、IP电话的一个重要的使用体验:内容实时性强。


对比与上述3种或实际是2种协议,RTP和它们有一个重要的区别就是默认是使用UDP协议来传输数据,而RTMP和HTTP是基于TCP协议传输。
UDP:单个数据报,不用建立连接,简单,不可靠,会丢包,会乱序;实时音视频流的场景不需要可靠保障,因此也不需要有重传的机制,实时的看到图像声音,网络抖动时丢了一些内容,画面模糊和花屏,完全不重要,因此采用UDP可以降低延迟。
TCP:流式,需要建立连接,复杂,可靠 ,有序。TCP为了重传会造成延迟与不同步,导致延迟在网络变化是会变大。

总结一下:在直播协议的选择中,如果选择是RTMP或HTTP-FLV则意味着有2~5秒的内容延迟,但是就打开延迟开,HTTP-FLV 要优于RTMP。HLS则有5~7秒的内容延迟。选择RTP进行直播则可以做到1秒内的直播延迟。但就目前所了解,各大CDN厂商没有支持基于RTP直播的,所以目前国内主流还是RTMP或HTTP-FLV。
实测一直播延迟在2-3S,采用UDP私有协议实现的YY延迟也在2-3S。


举报本楼

本帖有 2 个回帖,您需要登录后才能浏览 登录 | 注册
您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-11-20 09:40 , Processed in 0.105485 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部