通过修改linux系统默认的TCP或UDP mem大小解决开发板播放流媒体片源卡顿或马赛克问题

来源:互联网 发布:算法设计与分析第五章 编辑:程序博客网 时间:2024/06/05 02:48

背景:


在开发板上对接流媒体服务器时,遇到非常高清(码率20M)的片源,服务器推流速度非常快,在开发板上播放时经常出现卡顿(TCP)或者马赛克(UDP)的情况,在网上搜索及分析网络包之后,通过修改开发板系统默认的TCP或UDP套接字mem的大小(主要是接收数据的mem大小)之后问题得到解决,前提是socket数据接收线程已经非常高速运转了,不存在阻塞情况。


解决方案:


1、查询TCP套接字默认mem大小

cat /proc/sys/net/ipv4/tcp_mem

2、修改TCP套接字默认mem大小

echo xxx yyy zzz> /proc/sys/net/ipv4/tcp_mem


3、查询UDP套接字默认mem大小

cat /proc/sys/net/ipv4/udp_mem

4、修改UDP套接字默认mem大小

echo xxx yyy zzz > /proc/sys/net/ipv4/udp_mem



其中xxx、yyy、zzz就是想要设置的tcp或udp默认套接字mem的取值。

其他TCP或这UDP协议栈可以修改的相关参数,请参考:

http://blog.chinaunix.net/uid-10352791-id-2961508.html




原创粉丝点击