分享

直播系统代码,最好的方法是靠协议降低延迟

 yunbaoKJ 2021-12-13

延迟的控制和改变不是靠直播系统代码优化就能完成的,有时候是需要借助开发协议的应用改变延迟对直播的影响,借助实时传输协议的优势,在不同网络环境下,直播系统代码都有不错的表现,传输协议不仅能提高传输的速度,还能保证传输的时效性,具体的选择可以 参考以下的方案。

  



一、传输协议的选择

直播系统代码一般会选择RTMP做为传输协议,它和常用的CDN分发网络有较好的兼容性,在协议的划分上有重要的一点是看它属于什么协议下的,一般直播系统代码用到的是TCP协议,而一些音视频软件为了保证实时性会用到UDP协议,两者的优势决定了他们要服务于不同的使用环境。

二、TCP协议

1TCP协议属于通用协议,不是针对直播系统代码的使用环境专门设计的,所以它有所有传输协议都有的缺点,受到网络波动的影响比较大

2、有内嵌的ARQ,但没有FEC,不允许开发者对ARQ策略进行控制,不能实现FEC

3、由于不是专门针对实时音视频环境开发的,所以在实时性上很难保证,尤其是连麦这种实时性要求极高的服务

  



三、UDP协议

1、专门用来实时传输的通讯协议,在弱网络环境下仍然有很好的表现,允许端到端全链条进行信道策略控制

2、适合设计直播的通讯机制,根据网络情况自适应的选取ARQFEC策略,以及调整传输码率和报文数量

正常网络环境下,TCP协议和UDP协议对直播系统代码的提升是相同的,但一旦受到网络波动影响,UDP协议就会显得更稳定,但代价是,UDP协议无法应用多人的直播环境中,只适合一对一、一对多有人数限制的条件下使用。

  



直播系统代码想要获得更低的延迟,需要在各个环节进行优化处理,同时要考虑到网络环境对直播的影响,必须要考虑的是弱网络环境的影响,毕竟不是每个协议都能在弱网环境下有好的表现,再就是兼容性,不同协议针对的设备也不同,比如移动端设备、pc端设备等,兼容适配性的调整也非常重要。这是在协议之外直播系统代码开发过程中需要额外注意的。

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多