SRS-RTMP合并写

作者:罗上文,微信:Loken1,公众号:FFmpeg弦外之音

SRS-RTMP 的 Merged-Write 可以提高 RTMP 下行的效率,大约可以提升5倍左右。简单来说他实际的实现原理就是 等到队列里面有 8 个 包,才会读取出来,一次性写入到 TCP 通道,这样 TCP Write 的次数就少了,效果就提高了。

Merged-Write 主要有两个配置选项,mw_latencymw_msgs,如下:

1-1

mw_latency 代表最小延迟,默认是 350 毫秒。也就是他最多 等待 350 毫秒,如果 350 毫秒后,还没有 8 个包,例如只有 5 个包,也会进行发送。

mw_latency 就是这个意思。

mw_msgs 是队列的大小,默认是 8 ,等到 8 个包在一起发送,你也可以设置为 0 ,0 就是直接关闭了 Merged-Write


SRS 是在 SrsRtmpConn::do_playing() 里使用 这些配置 的,如下:

1-2


参考资料:

  • Merged-Write- SRS文档

版权所属 xianwanzhiyin.net 罗上文 2023 all right reserved,powered by Gitbook该文件修订时间: 2024-01-24 21:59:38

results matching ""

    No results matching ""