低延时的RTMP网络直播

来源:互联网 发布:java字符串比较大小 编辑:程序博客网 时间:2024/05/21 07:04

互联网时代的直播需求越来越多,观看直播的人群对直播的要求也越来越高。在百度或谷歌等搜索引擎里输入关键词“网络直播延时”,大家的疑问不少:

 

ü  什么软件看直播无延迟?

ü  为什么网络直播与电视直播有大概2分钟的延迟?

ü  CCTV 的新闻直播是实时直播,还是做了延迟处理?

ü  网络直播哪家好,没有延迟的?

ü  为什么在网上看直播会比电视直播有几分钟的延迟?

ü  大家如何看待关于网络直播延时的问题?

ü  如何解决直播延迟?

ü  视频直播时,你看到的是几秒以前的画面?

ü  希望大家推荐一个延时比较低的直播软件。

 

总结下来完美的直播需要满足:

 

ü  低延时,最好无延时

ü  画面超高清质量

ü  观看体验极致,无需下载任何插件

ü  支持多种终端:安卓手机,苹果手机,PAD, PC

 


直播的观看用户对延时如此关注,那么从发布直播的运营商或者说直播技术提供商角度来说,如何控制高清网络直播的延时呢?也就是说实时的steam串流影音传输技术涉及到的专用直播流媒体服务器系统是否能满足低延时的需求呢?

 

说到网络直播,那么我们肯定要提及流媒体服务器直播系统以及所支持的直播网络应用协议:RTMP, HLS,P2P

 

从低延时直播的角度来看,RTMP协议是作为直播协议输出最佳选择。

 

RTMP的特点如下:

 

1.   Adobe支持得很好:

   RTMP实际上是现在编码器输出的工业标准协议,基本上所有的编码器(摄像头之类)都支持RTMP输出。原因在于PC市场巨大,PC主要是Windows,Windows的浏览器基本上都支持flash,Flash又支持RTMP支持得非常好。对于手机移动端目前大多数选择HLS协议,但是这个移动端协议延时较高。如果希望移动端延时低,那么目前最佳的选择是开发支持RTMP协议的APP或直接采用较好的支持RTMP协议观看的APP。

 

2.   适合长时间播放:

   因为RTMP支持的很完善,所以能做到flash播放RTMP流长时间不断流,对于商用流媒体应用,客户端的稳定性当然也是必须的,否则最终用户看不了还怎么玩?

 

3.   延迟较低:

   比起YY的那种UDP私有协议,RTMP算延迟大的(延迟在1-3秒),比起HTTP流的延时(一般在10秒以上)RTMP算低延时。 一般的直播应用,只要不是电话类对话的那种要求,RTMP延迟是可以接受的。

 

4.   有累积延迟:

   技术一定要知道弱点,RTMP有个弱点就是累积误差,原因是RTMP基于TCP不会丢包。所以当网络状态差时,服务器会将包缓存起来,导致累积的延迟;待网络状况好了,就一起发给客户端。这个的对策就是,当客户端的缓冲区很大,就断开重连。

 

笔者做了RTMP协议的直播延时的两个测试:(选择八百里流媒体服务器系统为测试直播分发系统)

1.   经过软件编码推送直播至流媒体直播系统RTMP网络分发

测试结果:从H.264编码、经过流媒体系统的分发、最终PC观看者的过程,延时在3秒。


2.   网络摄像头输出的RTSP流,经过八百里外部信号适配器软件转协议不编码,进入八百里流媒体服务器系统RTMP网络分发 

测试结果:从RTSP流、经过外部信号适配器软件转流、流媒体系统分发、最终PC观看者的过程,延时1秒。


 

原创粉丝点击