Closed Alexyali closed 4 years ago
袁老师您好,我最近一直在看razor项目和bbr算法。我有一个小问题,就是项目代码里哪些是原本的bbr算法,哪些是结合视频传输做的改进。因为bbr算法本身只是拥塞控制,与传输的数据无关。 我看了bbr部分的代码,感觉bbr_controller.c 是原本bbr状态机转换的实现,和视频传输无关。 bbr_sender.c里面是结合视频传输做的改进。在bbr_sender.c里面对编码器速率target_bitrate进行了aimd决策,然后返回通信层,把码率传给协议。然后问题是aimd决策只是一个控制码率的初步实现,还可以换成其他控制算法? 最后heartbeat()函数应该也不是bbr原本部分,而是借鉴gcc做的改进,作用是每5ms发送一次数据。 我可能理解有不对的地方,还请袁老师多多指正。
yuanrongxi,我看了你的 google gcc 与 bbr 测试对比,发现 bbr 效果比 gcc 效果好太多了。
这个对比测试是你做的吗?
测试是长沙一个网友测试的
袁老师您好,我最近一直在看razor项目和bbr算法。我有一个小问题,就是项目代码里哪些是原本的bbr算法,哪些是结合视频传输做的改进。因为bbr算法本身只是拥塞控制,与传输的数据无关。 我看了bbr部分的代码,感觉bbr_controller.c 是原本bbr状态机转换的实现,和视频传输无关。 bbr_sender.c里面是结合视频传输做的改进。在bbr_sender.c里面对编码器速率target_bitrate进行了aimd决策,然后返回通信层,把码率传给协议。然后问题是aimd决策只是一个控制码率的初步实现,还可以换成其他控制算法? 最后heartbeat()函数应该也不是bbr原本部分,而是借鉴gcc做的改进,作用是每5ms发送一次数据。 我可能理解有不对的地方,还请袁老师多多指正。