live555client连多路1080P视频流花屏问题

硬件和软件环境是这种:

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.09

今天看到这样一句话:

//playCommon.cpp
/*
NOTE: If you want to develop your own RTSP client application (or embed RTSP client functionality into your own application),
then we don't recommend using this code as a model, because it is too complex (with many options).
Instead, we recommend using the "testRTSPClient" application code as a model.
*/

难道testRTSPClient比openRTSP性能高,但细想一下又不是那回事。流程都是一样的,仅仅是配置项不一样;但总算还是有点希望的,抽点时间把testRTSPClient改一下应该不是什么难事。

參考博文:http://blog.chinaunix.net/uid-15063109-id-4482932.html

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%)。而且一直在这之间徘徊。

时间: 2024-10-14 21:03:43

live555client连多路1080P视频流花屏问题的相关文章

live555客户端连多路1080P视频流花屏问题

硬件和软件环境是这样的: DM8168 + linux, 解码器是DM8168自带的 视频来源: ipc通过live555做的的rtsp sever发送过来的 其他测试: 通过VLC在pc连4路1080P没有问题,都挺流畅的: 用之前一个项目中自己实现的RTSP client连同样的1080p 4路到6路都没有问题(只是那个占用内存太多了,才打算用live555重写) live555 rtsp client 客户端大概如下: 修改openRTSP, 使支持多个实例支持多个RTSPClient,其

【FFmpeg】ffplay播放rtsp视频流花屏问题 (转)

问题描述:ffplay播放rtsp视频流时,播放过程中随机出现花屏现象. 基本流程学习:阅读ffplay源码,熟悉其播放rtsp视频流的基本流程. 在ffplay源码阅读和分析的基础上,画出了其播放rtsp的函数调用关系,如下图所示: avformat_open_input函数根据输入的文件名,与rtsp_read_packet关联. rtsp_read_packet完成每个rtp包的读取和解析,读取主要是利用rtp_read从缓冲区获取数据,解析主要是根据rtp协议,解析rtp包,得到h264

Android解决WebView的定位功能、视频全屏播放、下载功能、页面Url的处理、进度条处理

解决WebView的定位功能.视频全屏播放.下载功能.页面Url的处理.进度条处理 事先说明: 定位功能在安卓6.0需要用户手动确认权限后才能使用 若需在安卓6.0适配WebView的定位功能,则需要在WebView中手动增加用户权限访问 详细可百度安卓6.0权限管理系统,或者采用第三方封装好的权限管理类进行编写(如Bmob) 如果对内容不理解的话,可参考最后的整个类的代码 如果对BaseActivity这个抽象类不理解的话,可以查看下面一篇文章对BaseActivity的介绍 步骤一:webv

WebView中的视频全屏的相关操作

最近工作中,基本一直在用WebView,今天就把它整理下: WebView 顾名思义,就是放一个网页,一个看起来十分简单,但是用起来不是那么简单的控件. 首先你肯定要定义,初始化一个webview,其实网上的例子很多,我这里就简单的把一些WebView 中可能会用到的的很重要的属性以及支持全屏播放视频该怎么实现的代码粘出来,直接放到项目中去就行了 <span style="white-space:pre"></span><pre name="co

手机影音第九天,控制视频全屏播放与退出全屏播放,音量调节按钮来控制视频音量与静音的实现

代码以托管到码云,有兴趣的小伙伴可以下载看看 https://git.oschina.net/joy_yuan/MobilePlayer 一.视频全屏播放与退出全屏 系统默认的videoview类,没有调整大小的方法,因此需要自定义一个类,继承videoview,然后重写里面的三个构造方法,再自定义一个调整视频播放页面大小的方法. 1.布局文件 同时,在视频播放的布局文件中,videoview布局要引用上面自定义的类. <?xml version="1.0" encoding=&

.net下载优酷1080P视频

其实流程大致是:调用飞驴下载API+js解析+文件下载+调用flvBind合并这样一个流程而已_(:з」∠)_ 貌似是不用太多的说明..嗯.. 起先的需求是从优酷上下载一些视频 不过网络上的各种软件 甚至是优酷自己的APP 都没有提供高清视频下载的功能 而且1080P视频本身对于优酷就是一种付费功能 只好自己DIY解决了=w= 一些模型类 class Youku { public string Url; public string Title; public string Quality; pu

仿QQ视频全屏界面旋转实现

// 实现效果:界面支持系统自动转屏和点击转屏 // ViewController.m // rotatoTest // Copyright © 2016年 yaoyao. All rights reserved. // 1.关闭系统自动转屏 // 2.获取设备方向,设置转屏, // 3.点击按钮,设置转屏 #import "ViewController.h" #import <UIKit/UIKit.h> #import <CoreGraphics/CoreGrap

android mediaplayer VideoPlayerManager 加载视频闪屏问题排查解决

Android VideoPlayer 在滚动列表实现item视频播放(ListView控件和RecyclerView),在列表滚动时点击屏幕列表暂停,在item视频播放区域,视频播放时会出现闪屏问题. 排查解决,VideoPlayerManager->MediaPlayerWrapper.java->prepare() :                     { .prepareAsync().set(State.)(!= ) {                             

如何强制视频横竖屏

1.9.0以下不需要设置工程支持横竖屏,9.0以上必须要设置支持LandscapeRight 2.maintabBar 里设置 - (BOOL)shouldAutorotate { return NO; } 3.视频控制器里设置 - (BOOL)shouldAutorotate { return YES; } - (UIInterfaceOrientationMask)supportedInterfaceOrientations { return UIInterfaceOrientationMa