博客
关于我
如何解决直播系统开发中的延时问题,低延时的处理思路
阅读量:217 次
发布时间:2019-02-28

本文共 793 字,大约阅读时间需要 2 分钟。

解决低延迟问题的核心思想:NO BUFFER

低延迟指的是播放端与推流端的时间差尽可能小。要实现这一目标,"NO BUFFER"策略是关键。

视频流的传输路径通常是:推流端 → CDN服务器 → 拉流端。通过在三个环节中都实施"NO BUFFER"策略,可以有效降低延迟。

  • 推流端 NO BUFFER:确保推流端的缓存最小化。这样即使网络出现抖动或质量下降,系统也能及时舍弃缓存内容,优先传输最新帧。

  • CDN NO BUFFER:针对性调整CDN设置,减少其对GOP的缓存。GOP是视频流中的关键帧,减少其存储量可以确保拉流端获取最新内容。

  • 拉流端 NO BUFFER:在推流端和CDN都实施NO BUFFER后,拉流端也应保持缓存最小化。

  • 记住,低延迟不是单一端的事,三者协同才能实现最佳效果。

    基于IjkPlayer的拉流端低延时优化经验

    直播过程中存在首开延迟和内容延迟。首开延迟可控制在100ms左右,内容延迟则因CDN情况而异,通常为2~5秒。RTMP基于TCP协议,易受网络波动影响,导致延迟增加。通过对比推流端与拉流端的内容差异,可以发现拉流端拉取CDN缓存数据导致buffer queue变大,从而增加时延。

    拉流端延迟的核心原因:buffer queue过大,拉流端播放内容与推流端相差时延增加。

    解决方法:

  • 控制max_buffer_size:合理设置缓冲区上限,避免过长缓存导致时延增加。测试显示效果有限,因为内容延迟主要依赖于追赶或丢弃现有内容。

  • 使用倍速播放:快速消耗buffer queue,在合理区间后恢复正常播放。需确保设备解码性能支持。

  • 丢包策略:根据音视频流情况,采取丢帧策略:

    • 当音频缓存足够时,删除部分数据包以同步视频内容。
    • 只处理视频流时,类似处理。
  • 以下是优化丢包策略的参考文章:[链接]。

    通过以上方法,可以有效降低直播延迟,提升观看体验。

    转载地址:http://nwki.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现pollard rho大数分解算法(附完整源码)
    查看>>
    Objective-C实现Polynomials多项式算法 (附完整源码)
    查看>>
    Objective-C实现power iteration幂迭代算法(附完整源码)
    查看>>
    Objective-C实现powLinear函数和powFaster函数算法 (附完整源码)
    查看>>
    Objective-C实现PrimeFactors质因子分解算法 (附完整源码)
    查看>>
    Objective-C实现pythagoras哥拉斯算法(附完整源码)
    查看>>
    Objective-C实现qubit measure量子位测量算法(附完整源码)
    查看>>
    Objective-C实现quick select快速选择算法(附完整源码)
    查看>>
    Objective-C实现radians弧度制算法(附完整源码)
    查看>>
    Objective-C实现radianToDegree弧度到度算法(附完整源码)
    查看>>
    Objective-C实现radix sort基数排序算法(附完整源码)
    查看>>
    Objective-C实现rail fence围栏密码算法(附完整源码)
    查看>>
    Objective-C实现rayleigh quotient瑞利商算法(附完整源码)
    查看>>
    Objective-C实现RC4加解密算法(附完整源码)
    查看>>
    Objective-C实现recursive bubble sor递归冒泡排序算法(附完整源码)
    查看>>
    Objective-C实现recursive insertion sort递归插入排序算法(附完整源码)
    查看>>
    Objective-C实现recursive quick sort递归快速排序算法(附完整源码)
    查看>>
    Objective-C实现RedBlackTree红黑树算法(附完整源码)
    查看>>
    Objective-C实现redis分布式锁(附完整源码)
    查看>>
    Objective-C实现reverse letters反向字母算法(附完整源码)
    查看>>