最近使用jrtplib作为媒体传输工具,遇到的问题比较多,尤其是丢包比较严重,导致视频花屏比较厉害,最终终于定位到问题,是因为当作为接收端时,默认的接收缓存太小,大小为32K,我们只要把接收缓存设置大一些(如2M)就可以完美解决问题,接收数据包的框架可以参考jrtplib自带的例子。
jrtplib::RTPUDPv4TransmissionParams m_trans_params;
m_trans_params.SetRTPReceiveBuffer(2 * 1024 * 1024);