丢包现象:
omxplayer rtsp://摄像机地址
[NULL @ 0x15da560] RTP: missed 69 packets0.00 0.00s/ 37.82s Cv: 0k Ca: 0k
[NULL @ 0x15da560] RTP: missed 301 packets
[NULL @ 0x15da560] RTP: missed 438 packets
出现丢包,尤其是摄像机码率越高丢包越严重,最后修改upd.c中接收缓存大小时发现
attempted to set receive buffer to size 655360 but it only ended up set as 327680
最大只能设置327680,应该跟linux本身系统有关。
经网上查阅:
/proc/sys/net/core/rmem_max
该文件指定了接收套接字缓冲区大小的最大值(以字节为单位)。
树莓派本身是163840,自动乘以2倍。
修改
sudo sh -c "echo 2097152 > /proc/sys/net/core/rmem_max"
为4MB的缓存大小,当摄像机4096 8192Kbps发送时,未出现丢包!
文章详细介绍了在使用树莓派播放RTSP流时遇到的丢包问题,尤其在高码率下更为严重。通过修改接收缓存大小,将/proc/sys/net/core/rmem_max的值从默认的163840调整到4MB,成功解决了丢包问题,确保了视频流的稳定传输。
1万+

被折叠的 条评论
为什么被折叠?



