当前您所在的位置:首页>新闻中心>新品发布
新品发布
行业动态
营销活动

用RTMP播放Wowza Streaming Engine的直播流时,如何降低延时?

发布时间:2021/01/05 浏览量:1947

这篇文章介绍了在用RTMP播放Wowza StreamingEngine的直播流时,需要在Wowza服务器上做哪些配置以实现最低的延时效果。

 

 

注意:

本文的介绍只针对播放RTMP直播流的场景。
 

使用 low-latency 类型的流

用Wowza Streaming EngineManager 管理界面来配置按以下操作启用Low-latency类型的直播流:

1.在Wowza Streaming Engine Manager管理界面,点击Applicationstab菜单,点击你的直播应用名(例如live).

2.在Setuptab页的应用详情界面,点击Edit.

3.在Low-latency stream的复选框上打勾,点击Save,然后根据提示重启Wowza应用,让配置生效。

 

用XML 文件来配置要启用Low-latency 流:

1.用文本编辑器打开[install-dir]/conf/[application]/Application.xml文件,将Streams/StreamType参数改为live-lowlatency.

2.重启Wowza 服务器,让配置生效。

 

调整播放器侧的buffer time在RTMP播放器侧,很重要的一点是:在NetStream.setBufferTime()方法中讲参数设置为0(在Actionscript 3上,请使用"NetStream.bufferTime = 0;")。这将让你的播放器获得最低的延时效果。

注意1: 尽管将缓冲时长设置为0可以为你带来最低的延时, 但是它可能导致播放并不流畅。因此你可能需要略微增加一点缓冲时长(例如.1 或 .25)。
注意2: 当你使用JW Player时,你需要使用bufferLength参数设置缓冲时长。

 

低帧率下流畅播放当使用NetStream.setBufferTime将缓冲设置为0时,你可以将帧率降低,让播放器能够更快的呈现帧的图像。
有时候,降低flushInterval的值可以获得更流畅的播放效果。你可以编辑[install-dir]/conf/[application]/Application.xml 文件并在Streams/Properties中添加下面的属性参数来实现它:

但是,要注意的是,按这样的设置,Wowza服务器在处理每一个直播流传输所占用的CPU资源会上升。因此可以处理的并发用户数会降低。
用Wowza Streaming EngineManager 管理界面来配置

1.在Wowza Streaming Engine Manager管理界面,点击Applicationstab菜单,点击你的直播应用名。

2.在应用的详情界面,点击Propertiestab页,再点击Quick Links导航中的Custom链接

3.在Custom部分,点击Edit.

4.点击Add Custom Property,在Add CustomProperty对话框中按以下设置,然后点击Add:

o    Path - Select /Root/Application/Streams.

o    Name - Enter flushInterval.

o    Type - Select Integer.

o   Value - Enter 25.

 

5.Repeat theprevious step to add the onFlushNotifyClients property usingthe following values:

o    Path - 选择 /Root/Application/Streams.

o    Name - 输入 onFlushNotifyClients.

o    Type - 选择 Boolean.

o   Value - 输入 true.

 

6.点击 Save,然后根据提示重启应用。

用XML 文件来配置

 

        flushInterval

        25

        Integer

 

 

        onFlushNotifyClients

        true

        Boolean

 

     

 

关于编码参数的建议

 

时延也可能产生在视频编码环节。我们发现当使用Flash播放器的内建编码器(麦克风和摄像头)时可以将编码延时降到最低。这个Flash播放器的内建编码系统对于视频编码采用了Sorenson Spark (一个H.263的变种),对于音频编码采用了NellyMoser ASAO或Speex。要实现低延时,很重要的是你要用尽可能地的码率实现一个可接受的视频质量。在WowzaMedia Server安装包中的例子VideoChat是一个如何使用Flash播放器内建编码实现地延时的很好的案例。

增加帧率或者降低关键帧间隔也可以降低播放的延时。

注意: NellyMoser ASAO 和 Speex 音频编码对于每一个数据包采用固定数值的采样率。因为这个原因,采用较高的采样率是由于每秒中产生的数据包会更多,这样在降低延时方面会更好一些。因此,我们建议当你使用内建的Microphone编码音频时,将Microphone.rate 设置为 11KHz 或 22KHz。

 

Wowza Streaming Engine 4是业界功能强大、API接口丰富的流媒体Server产品,采用它作为流媒体服务器产品的案例很多,直播、在线教育、IPTV都有它的用武之地。

北京哲想软件有限公司