魔扣论坛

查看: 16|回复: 1

如何巧妙地规避移动直播场景中的延迟“坑”?

[复制链接]
  • TA的每日心情
    慵懒
    2020-1-10 17:09
  • 签到天数: 57 天

    [LV.5]经常留意

    53

    主题

    53

    帖子

    301

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    607
    贡献
    224
    威望
    0
    QQ
    发表于 2020-1-7 14:24:12 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】
    淘宝、天猫优惠券

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    避免延迟,对于直播来说,一直是一块比较难啃的骨头,而这块“骨头”却为移动直播源码开发凿出了一个又一个的“坑”,根据实践总结下来的经验,移动平台上视频直播的坑主要有两个方面:设备差异,以及网络环境这些场景下带来的技术考验。那么对这几个坑如何进行有效规避呢,下面我们就来具体看看。
    一、了解不同芯片平台上的编码差异
    iOS平台上无论硬编还是软编,由于是Apple一家公司出厂,几乎不存在因为芯片平台不同而导致的编码差异。
    然而,在 Android平台上,Android Framework SDK提供的MediaCodec编码器,在不同的芯片平台上,差异表现很大,不同的厂家使用不同的芯片,而不同的芯片平台上Android MediaCodec表现略有差异,通常实现全平台兼容的成本不低。
    另外就是Android MediaCodec硬编层面的 H.264编码画质参数是固定的 baseline,所以画质通常也一般。因此,在 Android平台下,推荐是用软编,好处是画质可调控,兼容性也更好。
    微信图片_20200107120025.png
    二、在低端设备上进行高性能地采集和编码
    例如Camera采集输出的可能是图片,一张图的体积并不会小,如果采集的频次很高,编码的帧率很高,每张图都经过编码器,那么编码器又可能会出现过载。
    这个时候,可以考虑在编码前,不影响画质的前提下(前面我们讲过帧率的微观意义),进行选择性丢帧,以此降低编码环节的功耗开销。
    三、弱网环境下保障高清流畅推流
    移动网络下,通常容易遇到网络不稳定,连接被重置,断线重连,一方面频繁重连,建立连接需要开销。另一方面尤其是发生GPRS / 2G / 3G / 4G 切换时,带宽可能出现瓶颈。当带宽不够,帧率较高/码率较高的内容较难发送出去,这个时候就需要可变码率支持。
    即在推流端,可检测网络状态和简单测速,动态来切换码率,以保障网络切换时的推流流畅。
    其次编码、封包、推流 这一部分的逻辑也可以做微调,可以尝试选择性丢帧,比如优先丢视频参考帧(不丢I帧和音频帧 ),这样也可以减少要传输的数据内容,但同时又达到了不影响画质和版视听流畅的目的。
    在直播源码开发过程中做到以上这些,就能巧妙地避开移动直播场景中的延迟“坑”。
    直播系统源码、短视频系统源码、一对一直播系统源码开发和出售,扣扣:3502958486 vx:17116105317

    该用户从未签到

    3

    主题

    206

    帖子

    409

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    203
    贡献
    203
    威望
    0
    发表于 2020-1-7 14:25:26 来自手机 | 显示全部楼层
    深深的思念,默默的祝福;关怀的心永远不改变,问世间,何为贵?山以青为贵,水以秀为贵物以稀为贵,月以明为贵人以正为贵,友以挚为贵情以真为贵,魔扣源码论坛,我以你为贵!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表