wowza 降低延迟
转自:http://www.ttstream.com/wowza/live/howToAchieveTheLowestLatencyFromCaptureToPlayback
注意:
2、要了解更多关于低延时的介绍,请参考Low-latency Streaming
提要
使用 low-latency 类型的直播流
使用 low-latency 类型的流
用Wowza Streaming Engine Manager 管理界面来配置
按以下操作启用Low-latency类型的直播流:
- 在Wowza Streaming Engine Manager管理界面,点击Applicationstab菜单,点击你的直播应用名(例如live).
- 在Setuptab页的应用详情界面,点击Edit.
- 在Low-latency stream的复选框上打勾,点击Save,然后根据提示重启Wowza应用,让配置生效。
用XML 文件来配置
要启用Low-latency 流:
- 用文本编辑器打开[install-dir]/conf/[application]/Application.xml文件,将Streams/StreamType参数改为live-lowlatency.
- 重启Wowza 服务器,让配置生效。
调整播放器侧的buffer time
在RTMP播放器侧,很重要的一点是:在NetStream.setBufferTime()方法中讲参数设置为0(在Actionscript 3上,请使用"NetStream.bufferTime = 0;")。 这将让你的播放器获得最低的延时效果。
注意2: 当你使用JW Player时,你需要使用bufferLength参数设置缓冲时长。请阅读JW Palyer 6如何与Wowza Streaming Engine配合使用?。
低帧率下流畅播放
当使用NetStream.setBufferTime将缓冲设置为0时,你可以将帧率降低,让播放器能够更快的呈现帧的图像。
有时候,降低flushInterval的值可以获得更流畅的播放效果。你可以编辑[install-dir]/conf/[application]/Application.xml 文件并在Streams/Properties中添加下面的属性参数来实现它:
但是,要注意的是,按这样的设置,Wowza服务器在处理每一个直播流传输所占用的CPU资源会上升。因此可以处理的并发用户数会降低。
用Wowza Streaming Engine Manager 管理界面来配置
- 在Wowza Streaming Engine Manager管理界面,点击Applicationstab菜单,点击你的直播应用名。
- 在应用的详情界面,点击Propertiestab页,再点击Quick Links导航中的Custom链接
- 在Custom部分,点击Edit.
- 点击Add Custom Property,在Add Custom Property对话框中按以下设置,然后点击Add:
- Path - Select /Root/Application/Streams.
- Name - Enter flushInterval.
- Type - Select Integer.
- Value - Enter 25.
- Repeat the previous step to add the onFlushNotifyClients property using the following values:
- Path - 选择 /Root/Application/Streams.
- Name - 输入 onFlushNotifyClients.
- Type - 选择 Boolean.
- Value - 输入 true.
- 点击 Save,然后根据提示重启应用。
用XML 文件来配置
<Property>
<Name>flushInterval</Name>
<Value>25</Value>
<Type>Integer</Type>
</Property>
<Property>
<Name>onFlushNotifyClients</Name>
<Value>true</Value>
<Type>Boolean</Type>
</Property>
关于编码参数的建议
时延也可能产生在视频编码环节。我们发现当使用Flash播放器的内建编码器(麦克风和摄像头)时可以将编码延时降到最低。 这个Flash播放器的内建编码系统对于视频编码采用了Sorenson Spark (一个H.263的变种),对于音频编码采用了NellyMoser ASAO或Speex。 要实现低延时,很重要的是你要用尽可能地的码率实现一个可接受的视频质量。在Wowza Media Server安装包中的例子VideoChat是一个如何使用Flash播放器内建编码实现地延时的很好的案例。
增加帧率或者降低关键帧间隔也可以降低播放的延时。
wowza 降低延迟的更多相关文章
- java异步编程降低延迟
目录 java异步编程降低延迟 一.ExecutorService和CompletionService 二.CompletableFuture(重要) 三.stream中的parallel(并行流) ...
- 揭秘阿里云 RTS SDK 是如何实现直播降低延迟和卡顿
作者:予涛 途坦 这个夏天,没什么能够比一场酣畅淋漓的奥运比赛来的过瘾.但是,在视频平台直播观看比赛也有痛点:"卡顿" 和 "延时".受限于不同地域.复杂的网络 ...
- 【MySQL】你以为设置了并行复制就降低延迟了?这个你绝对想不到!
在MySQL官方版本中,为了保证其的高可用性,一般情况我们会采用主从复制的方式来解决.当然,方法很多.而我们今天所要处理的是采用GTID方式并且开了多线程复制后,仍然延迟的情况,糟糕的是,延迟还在不断 ...
- Azure媒体服务 直播延迟的原因解析
当我们使用媒体服务的直播功能,会发现有时候会有较大的延迟,而延迟的产生和客户端以及推送软件的配置也有关系,本文以Wirecast为例进行分析 Encoder导致的延迟:在编码这一步骤的时候,它会消耗机 ...
- Java性能优化权威指南-读书笔记(四)-JVM性能调优-延迟
延迟指服务器处理一个请求所花费的时间,单位一般是ms.s. 本文主要讲降低延迟可以做的服务器端JVM优化. JVM延迟优化 新生代 新生代大小决定了应用平均延迟 如果平均Minor GC持续时间大于应 ...
- Redis 响应延迟问题排查
计算延迟时间 如果你正在经历响应延迟问题,你或许能够根据应用程序的具体情况算出它的延迟响应时间,或者你的延迟问题非常明显,宏观看来,一目了然.不管怎样吧,用redis-cli可以算出一台Redis 服 ...
- 卡马克揭开VR延迟背后的真相
原文:http://oculusrift-blog.com/john-carmacks-message-of-latency/682/ 延迟是OculusVR所面对的最大挑战之一, 它不仅会分散玩家 ...
- Redis为什么变慢了?常见延迟问题定位与分析
Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右.但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,在排查问题时就会一头 ...
- Redis常见延迟问题定位与分析
Redis作为内存数据库,拥有非常高的性能,单个实例的QPS能够达到10W左右.但我们在使用Redis时,经常时不时会出现访问延迟很大的情况,如果你不知道Redis的内部实现原理,在排查问题时就会一头 ...
随机推荐
- so easy(并查集+unordered_map)
There are nn points in an array with index from 11 to nn, and there are two operations to those poin ...
- ubuntu或linux下找不到apache服务器配置文件httpd.conf
原因是ubuntu中是apache2,没有httpd.conf文件,所有找不到. 我的是ubuntu14.04系统,apache2配置文件在/etc/apache2/apache2.conf中, 如果 ...
- CSS 属性小记
1. 选择器的介绍 普通选择器 标签选择器:p{...} id选择器:#xiaoming{...} 类选择器:.class{...} 通用选择器: *{...}, 对所有的元素都有效 伪类选择器 Lo ...
- wordpress数据库结构以及数据表之间的关系
默认WordPress一共有以下11个表.这里加上了默认的表前缀 wp_ . wp_commentmeta:存储评论的元数据 wp_comments:存储评论 wp_links:存储友情链接(Blog ...
- Java全排列递归算法
Java全排列算法: 第一遍循环:将list数组index==0的元素依次与数组的每个元素交换,从而保证index==0的位置先后出现n个不同元素之一,实现对index==0位置的遍历. 第 i 遍循 ...
- 2018-8-10-dotnet-core-编程规范
title author date CreateTime categories dotnet core 编程规范 lindexi 2018-08-10 19:16:52 +0800 2018-05-0 ...
- Oracle锁表信息处理步骤
查看是否有锁表的sql select 'blocker(' || lb.sid || ':' || sb.username || ')-sql:' || qb.sql_text blockers, ' ...
- if [ $? -eq 0 ]; then该语句是什么含义?
某个shell脚本 # mkimage.sh echo "make and copy android images" ./mkimage.sh ]; then echo " ...
- MongoDB之$关键字,以及$修饰器$set,$inc,$push,$pull,$pop
一.查询中常见的 等于 大于 小于 大于等于 小于等于 等于:在MongoDB中,什么字段等于什么值就是" : ",比如 "name":"路飞学城&q ...
- NOIP2015 D1T1 神奇的幻方
洛谷P2615 很简单的模拟题……每枚举一个点只要保存上一个点的x,y值即可,不用开数组存放 另外题目中对于K的操作都在K-1的九宫格范围内,所以我们巧妙运用++和--就可以做到每个分支一行代码 还有 ...