本文共 708 字,大约阅读时间需要 2 分钟。
基于jrtplib实现视频码流接收,并使用VLC播放器播放H264视频
使用jrtplib接收视频码流并写入文件保存,当播放时,出现画面下半部分花屏问题。
当使用jrtplib接收码流时,默认的接收缓存太小,大小为32K,默认接收缓存参数如下:
RTPUDPv4TransmissionParams():RTPTransmissionParams(RTPTransmitter::IPv4UDPProto) { portbase = RTPUDPV4TRANS_DEFAULTPORTBASE; bindIP = 0; multicastTTL = 1; mcastifaceIP = 0; rtpsendbuf = RTPUDPV4TRANS_RTPTRANSMITBUFFER; rtprecvbuf= RTPUDPV4TRANS_RTPRECEIVEBUFFER; rtcpsendbuf = RTPUDPV4TRANS_RTCPTRANSMITBUFFER; rtcprecvbuf = RTPUDPV4TRANS_RTCPRECEIVEBUFFER; }
经过测试当把接收缓存设置大一些(如2M)就可以完美解决问题。
jrtplib::RTPUDPv4TransmissionParams m_trans_params;m_trans_params.SetRTPReceiveBuffer(2 * 1024 * 1024);
参考博客:https://blog.csdn.net/heibao111728/article/details/104739973/