软件: 1.流媒体服务器EasyDarwin-windows-8.1.0-1901141151 2.ffmpeg-20181001-dcbd89e-win64-static 3.直播源:rtsp://192.168.1.168/0 4.流媒体服务器EasyDarwin地址rtsp://192.168.1.28/3 问题现象 [rtsp @ 0000000000122bc0] max delay reached. need to consume packet [rtsp @ 00000000001…
rtsp服务默认使用udp协议,容易丢包,报这个错误.改为tcp,则解决. ffmpeg-设置rtsp推流/拉流使用的协议类型(TCP/UDP)(转) 拉流(设置TCP/UDP) //设置参数 AVDictionary *format_opts = NULL; av_dict_set(&format_opts, * ).c_str(), ); //设置链接超时时间(us) av_dict_set(&format_opts, ); //设置推流的方式,默认udp. //初始化输入上下文 AV…
之前尝试过很多网上利用Windows编译FFmpeg的文章,都没有办法编译X64位的FFmpeg,有些教程中有专门提到编译64位的FFmpeg需要下载mingw-w64-install,但是编译的过程中总是遇到各种错误.尝试了很久依然没有成功. 然后在网上看见另外一篇教程:VS2015编译FFMPEG.方法很简答,并且成功编译了X64位的FFmpeg.特此记录:转自:http://blog.csdn.net/gongxp123456/article/details/52879976 系统环境:W…
程序背景 程序是Java编写,基于Netty框架写的客户端及服务端. 现象 客户端大数据量持续发UDP数据,作为UDP服务器出现了部分数据频繁丢失触发程序自身重传逻辑. 通过GC日志对比发现丢包的时间点偶有处于Full GC,说明Java程序接收间歇性stop world的不是根因. 观察Udp的dump 通过watch -n 1 -d 'cat /proc/net/udp >> /usr/udpDump.txt'在发送数据的过程中持续观察Udp缓冲区的状况 /proc/net/udp是瞬时的…
概述 最近我们项目有一个需求就是解决客户端播放RTSP视频流花屏的问题,一般来说丢包就会引起花屏,导致客户端花屏的因素又有很多,比如说: 相机到服务器丢包 服务器到客户端丢包 等等... 其中服务器到客户端的丢包问题我们已经解决了,那么相机到服务器的丢包问题怎么解决呢?这个问题解决不了的,可以解决的问题就是即使相机到服务器丢包后,也让客户端知道,然后不解码丢包的那一帧数据直到下一个关键帧的到来,这样客户端播放视频就不会 花屏了,但是这样做就会让视频播放卡顿一下(以50帧一个关键帧来算的话会卡顿2…
最近在做一个项目,在这之前,做了个验证程序. 发现客户端连续发来1000个1024字节的包,服务器端出现了丢包现象. 纠其原因,是服务端在还未完全处理掉数据,客户端已经数据发送完毕且关闭了. 我用过sleep(10),暂时解决这个问题,但是这不是根本解决办法,如果数据量大而多,网络情况不太好的话,还是有可能丢失. 你试着用阻塞模式吧... select...我开始的时候好像也遇到过..不过改为阻塞模式后就没这个问题了... 采用回包机制,每个发包必须收到回包后再发下一个 UDP丢包是正常现象,因…
测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%.同等情形下Windows上测试,仅丢几条数据.形势严峻,必须解决.考虑可能是因为协议栈Buffer太低所致,于是先看看默认情况: sysctl -a |grep net.core 发现 net.core.rmem_max = 131071 net.core.rmem_default = 112640 修改吧,变大一点,变成10M,然后reboot(应该重启某个服务即可) 然后查网卡收包…
测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%.同等情形下Windows上测试,仅丢几条数据.形势严峻,必须解决.考虑可能是因为协议栈Buffer太低所致,于是先看看默认情况: sysctl -a |grep net.core 发现 net.core.rmem_max = 131071 (单位:字节) net.core.rmem_default = 112640 (单位:字节) 修改吧,变大一点,变成10M,然后reboot(应该重…
1 现象 近期对一款基于QCA方案.有线Phy为AR8033.WiFi双频且支持iEEE802.11AC的WLAN产品进行了深度验证,发现有线口同部分PC机直连时,WiFi终端ping 该PC机时总是丢包,有时高达20%:但通过交换机再接PC机时,又不会丢包.一直以为是偶现,所以未引起重视,反正跑流性能与稳定性都没有任何影响.后来新购了一批千兆有线口的便携机进行配套验证时,发现每台都是如此,ping包丢得一塌涂地.在WLAN设备和PC机上分别开启抓包工具,可以看到设备已发包,但PC机未收到报文:…
##socket 丢包粘包解决方式 采用固定头部长度(一般为4个字节),包头保存的是包体的长度 header+body 包头+包体 下面的例子不是按照上图中规定的格式编写的,但是思路都是一样的,先读出一个包头,得到包体的长度,解析出包体 public class SocketServer { public static void main(String args[]) { ServerSocket serverSocket; try { serverSocket = new ServerSock…