FMUSER更轻松地传输视频和音频!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
音频和视频直播系统是一个复杂的工程系统。 为了实现非常低延迟的实时广播,它需要复杂的系统工程优化并熟悉各种组件。 以下是一些常见的调优技巧:
编码优化
1.确保编解码器打开了最小延迟设置。 编解码器通常具有低延迟的优化开关,尤其是对于H.264。 许多人可能不知道H.264解码器在显示之前会缓存一定数量的视频帧。 对于具有QCIF分辨率(176×144)的视频,它将缓存16帧,对于720p视频,它将缓存5帧。 对于第一帧读取,这是一个很大的延迟。 如果您不使用H.264编码和压缩视频,请确保您不使用B帧,这也会对延迟产生更大的影响,因为视频中B帧的解码取决于之前和之后的视频帧,这会增加延迟。
2.编码器通常具有由代码控制引起的延迟,也称为初始化延迟或VBV的缓冲区大小。 它被视为编码器和解码器比特流之间的缓冲区,可以将其设置得尽可能小或减少延迟,而不会影响视频质量。
3.如果仅优化第一延迟,则可以在视频帧之间插入更多关键帧,以便客户端可以在接收到视频流后尽快对其进行解码。 但是,如果需要优化传输过程中的累积延迟,则应使用尽可能少的关键帧,即I帧(GOP变大)。 在确保相同的视频质量的情况下,I帧越多,比特率越大,传输所需的网络带宽就越大,这意味着累积延迟可能会更大。 此优化效果在具有第二个延迟的系统中可能并不明显,但在具有100 ms甚至更低延迟的系统中将是明显的。 同时,尝试使用acc-lc编解码器对音频进行编码。 尽管he-acc或he-acc 2具有较高的编码效率,但是编码时间较长,并且由较大音量的音频引起的传输延迟对视频流的传输影响较小。
4.不要使用MJPEG视频压缩格式,至少要使用不带B帧的MPEG4视频压缩格式(简单配置文件),甚至最好使用H.264基线配置文件(x264还具有“调零延迟”优化开关)。 这种简单的优化可以减少等待时间,因为它可以以较低的比特率对全帧速视频进行编码。
5.如果使用ffmpeg,则减小用于视频帧信息监视和监视时间的“ -probesize”和“ -analying duration”的值。 两个值越大,对编码延迟的影响越大。 在现场场景中,甚至不必设置视频流的分析持续时间参数。
6.固定速率编码CBR可以在一定程度上消除网络抖动的影响。 如果可以使用可变速率编码VBR,它可以节省一些不必要的网络带宽并减少某些延迟。 因此,建议将VBR尽可能多地用于编码。
传输协议优化
1.尝试使用RTMP代替基于HTTP的HLS协议在服务器节点之间进行传输,这样可以减少总体传输延迟。 这主要针对使用HLS进行播放的最终用户。
2.如果最终用户使用RTMP播放,则应在靠近流传输端的接收节点处进行转码,以使发送的视频流小于原始视频流。
3.如有必要,可以使用定制的UDP协议代替TCP协议,并且可以消除弱网络链路下的丢包重传,从而减少了时延。 它的主要缺点是基于UDP协议的自定义视频流的传输和分发不够通用,并且CDN制造商支持标准传输协议。 另一个缺点是可能因数据包丢失(缺少关键帧解码参考)而引起飞溅或模糊,这要求协议定制方在基于UDP的数据包丢失控制中做得很好。
传输网络优化
1.我们介绍了实时流网络,它是一种具有自组织节点的新型网络传输网络。 它不仅适用于国内多运营商网络的传输优化,还适合许多海外现场直播的需求。
2.将当前GOP缓存在服务器节点中,并与播放器配合以优化视频打开时间。
3.当每个视频流实时流到每个链路时,服务器记录第二级帧率和编码率,并实时监视码率和帧率的波动。
4.客户端(推送流和播放)通过查询服务器(每5秒一次)以准实时方式获得当前的最佳节点,并且当前的故障节点和线路都准实时地处于脱机状态。
流和播放优化
1.系统可能会在发送数据之前缓存数据。 此参数的调整还需要找到一个平衡点。
2.播放器的缓冲控制对视频的第一延迟也有很大的影响。 如果仅优化第一个延迟,则在缓冲区为0的情况下,可以立即解码数据。 但是在弱网络环境中,为了消除网络抖动的影响,有必要设置一定的缓存,因此我们需要在直播的稳定性和首次开启延迟的优化之间找到平衡,并进行调整。优化的缓冲区大小。
3.播放器动态缓冲策略,它是上述播放器缓存控件的改进版本。 如果我们仅在0高速缓存和固定大小高速缓存之间进行选择以找到平衡,我们最终将选择一个固定大小的高速缓存,这对于100亿移动互联网终端用户来说是不公平的。 它们的不同网络条件确定固定大小的缓存不完全适合。 因此,我们可以考虑一种“动态缓冲策略”。 当播放器打开时,我们使用很小或什至为零的缓冲策略。 下一个时间片的缓冲区大小由下载第一个视频所花费的时间确定。 同时,在播放过程中实时监视当前网络,并在播放过程中实时调整缓冲区大小。 这样,第一次开启时间可以非常短,并且可以最大程度地消除网络抖动的影响。
4.动态汇率策略。 除了动态调整缓冲区大小的策略外,我们还可以使用实时监控网络信息在播放过程中动态调整比特率。 在网络带宽不足的情况下,我们可以降低播放的比特率并减少延迟。
以上是低延迟优化技术的一部分。 实际上,当我们优化低延迟时,我们不仅关注“低延迟”,而且在其他条件不影响用户体验的情况下尝试实现低延迟。 因此,其内容涉及广泛的主题。
|
输入电子邮件以获取惊喜
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
FMUSER更轻松地传输视频和音频!
联系我们
分类目录
订阅电子邮件