硬件和软件环境是这种:

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

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

  1. 【FFmpeg】ffplay播放rtsp视频流花屏问题

    问题描述:ffplay播放rtsp视频流时,播放过程中随机出现花屏现象. 基本流程学习:阅读ffplay源码,熟悉其播放rtsp视频流的基本流程. 在ffplay源码阅读和分析的基础上,画出了其播放r ...

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

    问题描述:ffplay播放rtsp视频流时,播放过程中随机出现花屏现象. 基本流程学习:阅读ffplay源码,熟悉其播放rtsp视频流的基本流程. 在ffplay源码阅读和分析的基础上,画出了其播放r ...

  3. 索尼Sony ATI显卡驱动 Win7 Win8 Win8.1 视频黑屏 解决方法

    索尼ATI显卡驱动 Win7  Win8  Win8.1 视频 黑屏 完美解决方法: 下载这个补丁 安装 即可 解决  ! baidu pan:  http://pan.baidu.com/s/1gd ...

  4. H5项目常见问题及注意事项,视频全屏,定位,屏幕旋转和触摸,偏页面重构向 来源joacycode的github

    Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 //一.HTML页面结构 <meta name="viewport" content="wi ...

  5. iOS端一次视频全屏需求的实现(转)

    对于一个带有视频播放功能的app产品来说,视频全屏是一个基本且重要的需求.虽然这个需求看起来很简单,但是在实现上,我们前后迭代了三套技术方案.这篇文章将介绍这三种实现方案中的利弊和坑点,以及实现过程中 ...

  6. iOS 视频全屏功能 学习

    项目中,也写过类似"视频全屏"的功能, 前一阵子读到今日头条 的一篇技术文章,详细介绍三种旋转方法差异优劣最终择取.文章从技术角度看写的非常好,从用户角度看,也用过多家有视频功能的 ...

  7. .net下载优酷1080P视频

    事实上流程大致是:调用飞驴下载API+js解析+文件下载+调用flvBind合并这样一个流程而已_(:з」∠)_ 貌似是不用太多的说明..嗯.. 起先的需求是从优酷上下载一些视频 只是网络上的各种软件 ...

  8. Easy AR官方实例HelloARVideo无法播放视频,视频黑屏,只有声音----解决办法

    在学习AR时,发现EasyAR的官方案例居然运行有问题,经过一整天的各种查找与实践,终于找出解决办法! 首先,识别图像 播放视频的实例只支持在手机运行,PC端是无法看出实际效果的. 其次,视频黑屏,只 ...

  9. linux 接收udp流花屏的问题

    最近服务部署到一个Linux上面,接收udp的广播流花屏,问运维说带宽正常,就琢磨了一下应该的丢包了,程序本身申请的socket缓存还是蛮大的,就看看系统的缓存, 用命令cat /proc/sys/n ...

随机推荐

  1. TensorFlow学习笔记(6):TensorBoard之Embeddings

    本文基于TensorFlow官网的How-Tos写成. TensorBoard是TensorFlow自带的一个可视化工具,Embeddings是其中的一个功能,用于在二维或三维空间对高维数据进行探索. ...

  2. oracle无参数和带参数的存储过程实例

    SQL中调用存储过程语句:call procedure_name(); 注:调用时”()”是不可少的,无论是有参数还是无参数. 定义对数据库存储过程的调用时1.无参数存储过程:{call proced ...

  3. jsonp跨域请求发布出去

    最近在做运动城项目,这一个项目下面有多个子项目,如主数据项目,pos项目等.主数据项目的域名为www.topmall.com,POS项目的域名为pos.topmall.com.即两个项目的主域名相同, ...

  4. SystemServer分析

    1 SystemServer分析 SystemServer的进程名就是前面所说的“system_server”,是zygote进程“app_process”fork出来的第一个子嗣,其重要性不言而喻. ...

  5. 仔细瞄一下HashMap是怎么干活的

    以下分析基于jdk11.0.2 1. 创建HashMap时发生了什么? HashMap(),HashMap(int initialCapacity),HashMap(int initialCapaci ...

  6. PHP的图片处理类(缩放、加图片水印和剪裁)

    <!--test.php文件内容--> <?php //包含这个类image.class.php include "image.class.php"; $img ...

  7. 我要好offer之 链表大总结

    单链表是一种递归结构,可以将单链表看作特殊的二叉树(我把它叫做一叉树) 单链表的定义: /** * Definition for singly-linked list. * struct ListNo ...

  8. APUE 学习笔记(五) 进程环境

    1.main函数 C程序总是从main函数开始执行,当内核执行C程序时,在调用main函数之前先调用exec函数从内核获取命令行参数和环境变量值   2.进程终止 正常终止: (1)在main函数内执 ...

  9. node总结--回调函数阻塞和非阻塞代码实例

    阻塞代码实例: var fs = require("fs"); var data = fs.readFileSync('input.txt'); console.log(data. ...

  10. 44深入理解C指针之---指针安全

    一.指针安全:指针的声明和初始化问题 1.指针不恰当的声明: 1).声明的意思和真是的意图不一致,可以通过格式搞定: 2).使用宏定义时,展开的含义有变,通过格式搞定: 3).使用类型定义,使用更加方 ...