硬件和软件环境是这样的:
DM8168 + linux, 解码器是DM8168自带的
视频来源:
ipc通过live555做的的rtsp sever发送过来的
其他测试:
通过VLC在pc连4路1080P没有问题,都挺流畅的;
用之前一个项目中自己实现的RTSP client连同样的1080p 4路到6路都没有问题(只是那个占用内存太多了,才打算用live555重写)
live555 rtsp client 客户端大概如下:
修改openRTSP, 使支持多个实例支持多个RTSPClient,其中 env用的是同一个,也就是只有一个EventLoop,即单线程的;
存在问题如下:
当连3路1080P视频显示很流畅, 帧率25, 每1秒为周期的到来: 0x67(sps)... 0x68(pps)...0x65(IDR)...data;
但连4路或4路以上1080P时,视频变得非常卡,发现sps和pps还是同期性的到来, 但0x65却变得非常少,感觉应该是丢了。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
解决进度:
2015.06.08
对,一路到3路1080P 都没有问题,只是4路或4路以上就不行了。
还有昨天测试,尝试把socket缓冲区加大到10M测试发现在前大约1分钟里,视频流流畅,sps,pps,idr周期性的到来;但之后idr开始丢失,视频开始卡;猜测是10M的socket接收缓冲区满了之后,由于处理不过来导致新接收数据把之前的数据冲掉了,导致了视频花屏。感觉还是处理不过的原因,也不知道是程序写哪有问题。。。
2015.06.07
测试发现不加解码, 只取流(也就只启动Live555取流)同样存在问题,一到4路或超过4路1080P,0x65(idr包)就急剧的减少,与sps、pps出现的不成比例; 占用的cpu为 (53%、58% 、60% 69%),并且一直在这之间徘徊。