8148 8168 中移植live55 出现except rtsp 中途莫名的断流
在解码中,接了浙江宇视的ipc相机,解码一般就挂了,vlc 也是中途断流.费解?
vlc异常信息如下:
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
direct3d warning: trying surface pixel format: YV12
main error: Failed to resize display
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 600 ms)
main error: ES_OUT_RESET_PCR called
live555 warning: no data received in 10s, eof ?
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
packetizer_h264 warning: waiting for SPS/PPS
direct3d warning: trying surface pixel format: YV12
main error: Failed to resize display
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 600 ms)
main error: ES_OUT_RESET_PCR called
live555 warning: no data received in 10s, eof ?
相机类型型号:
http://www.uniview.com/Products/Cameras/Box/#~series0
百度了下,网友中有分析说是两个方面的问题,1pts 解码显示太慢,2是两系统时钟突变时间戳对不上号.我猜,呵呵,有可能是加了私有协议
更新:后面和常熟的顾哥网友聊聊发现他也遇到过类似情况,也还没解决,有两种情况一个是有些相机确实会断流,另外一种情况是live555里面貌似有bug 导致teardown
rtsp的 默认端口地址是:
address = *(addresses.firstAddress());
portNum = 554; // default value
2015-1-7 貌似有网友出现过这种情况:
在基于TI DM8168 平台上移植live555 进行视频直播,DM8168采集的后的图像,经M3_video编码为H264视频流(编码后也是一帧一帧的数据),碰到以下问题:
(1): 问题:
用VLC作为RTSP客户端连接DM8168, 只能播放开始几帧,之后画面变乱,并无法播放;
(2): 原因:
H264编码后的帧只有第一帧是IDR帧,之后没有IDR帧.
(3): 解决办法:
修改DM8168建立encode link时的参数,以便周期的产生IDR帧:
- encPrm.chCreateParams.defaultDynamicParams.intraFrameInterval = 25;
- encPrm.chCreateParams.encodingPreset = XDM_USER_DEFINED;
复制代码
(1): 问题
用科达NVR作为客户端连接DM8168,发现NVR的视频画面和录像会出现停止,并且提示“前端
掉线”的告警,过了1分钟后又开始正常显示和录像.
(2): 原因
在liveMedia/RTSPServer.cpp中将DEBUG宏打开,跟踪NVR整个连接过程,结果发现如下信息:
- RTSP client session (id "555C5F62", stream name "id1") has timed out (due to inactivity)
复制代码
而正常的连接打印为:
- RTSP client session (id "023C11D5", stream name "id1"): Liveness indication
- RTSP client session (id "023C11D5", stream name "id1"): Liveness indication
复制代码
意思就是一旦RTSP的客户端连接成功后,需要周期的想服务端发送心跳包,如果超过某个设定的时间,
RTSP 服务端则会主动关闭这个客户端的连接,因此导致科达的NVR被关闭,之后又重新连接,因此导致
视频显示和画面中断又继续。
(3): 解决办法:
调整RTSP服务端的超时时间值:fReclamationTestSeconds,而这个值在
liveMedia/include/RTSPServer.hh有初始值:
- static RTSPServer* createNew(UsageEnvironment& env, Port ourPort = 554,
- UserAuthenticationDatabase* authDatabase = NULL,
- unsigned reclamationTestSeconds = 65);
复制代码
在构造函数createNew的实现中,在初始化参数列表亦可以进行修改,
- RTSPServer::RTSPServer(UsageEnvironment& env,
- int ourSocket, Port ourPort,
- UserAuthenticationDatabase* authDatabase,
- unsigned reclamationTestSeconds): Medium(env), ............... fReclamationTestSeconds(reclamationTestSeconds)
复制代码
因此,在自己的应用程序创建 RTSPServer的时候,修改这个值:
- // Create the RTSP server:
- RTSPServer* rtspServer = RTSPServer::createNew(*env, 8554, authDB, 100);
复制代码
http://kuafu80.blog.163.com/blog/static/122647180201391193917936/
http://www.asmag.com.cn/test/show/69661.html
http://bbs.csdn.net/topics/390698320
http://www.gzlilin.com.cn/article.aspx?a=839
http://www.asmag.com.cn/test/show/69661.html
问题还没解决!!!
8148 8168 中移植live55 出现except rtsp 中途莫名的断流的更多相关文章
- zju(11)在IAR中移植ucos到msp430
准备材料 1.在TI官网上下载430的固件库,我用的是msp430f5528的板子,下载的是F5xx_F6xx_Core_Lib 地址http://www.ti.com/tool/msp-exp430 ...
- 从MSSQL server 2005中移植数据到Oracle 10g
body, p, th, td, li, ul, ol, h1, h2, h3, h4, h5, h6, pre { font-family: simsun; line-height: 1.4; } ...
- 在嵌入式Linux系统(OK6410)中移植Boa 服务器
OK6410的Boa服务器移植: <一> Boa的编译 1. 从 www.boa.org 下载 Boa 服务器的最新版:boa-0.94.13.tar.gz. 2. 解压:tar xzf ...
- Linux2.6.32内核笔记(5)在应用程序中移植使用内核链表【转】
转自:http://blog.csdn.net/Deep_l_zh/article/details/48392935 版权声明:本文为博主原创文章,未经博主允许不得转载. 摘要:将内核链表移植到应用程 ...
- 在IAR(EWARM)中移植STM32固件库
一.移植环境说明 (1).win10系统 (2).IAR(EWARM)7.7 (3).STM32标准固件库3.5.0 http://www.st.com/content/st_com/en/produ ...
- 向tiny6410中移植中移植linux-4.5.1内核(最新)
下载linux-4.5.1.tar.gz 解压在任意目录下.我解压在/home/tiny6410/ # tar xvzf linux-4.5.1.tar.gz # cd linux-4.5.1/ 修改 ...
- 嵌入式开发之davinci---DM8168 8127 8148 HDVPSS中的一些英文缩写解释
BLEND:Alpha blends input with the graphics.将输入的视频与图形做Alpha融合. CPROC:Color Processing.颜色处理.如动态对比度增强.饱 ...
- 关于DM8168中移植算法速度慢、效率低的新发现
有不少的朋友,特别是刚刚接触DSP的朋友.基于DVRRDK编写C代码发现执行速度特别慢,我在上面简单的对每一个像素的UV分量赋值=0x80,这样就成了灰度图像.对1080P图像进行操作,发现处理每帧要 ...
- 嵌入式开发之davinci---8148/8127/8168 中dsp c674的浮点和定点兼容
c674: 是c67(浮点)+c64(定点) 兼容的 http://processors.wiki.ti.com/index.php/-mv_option_to_use_with_the_C674x ...
随机推荐
- AutoCAD中导入图片
导入图片涉及到两个关键的问题:如何将图片放置到指定的位置或范围内:如何修改图片的路径类型,如相对路径.绝对路径. 本文以AutoCAD 2018位演示截图来源. 1 将图片放置到指定的位置或范围内 ( ...
- 控制面板cpl大全
ALSNDMGR.CPL AC97 Audio组态设定appwiz.cpl 添加和删除程序bthprops.cpldesk.cpl 显示属性firewall.cpl Windows防火墙hdwwi ...
- Makefile中的“-I”(大写i),“-L”(大写l),“-l”(小写l)
用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数, “-I”(大写i):表示包含头文件: “-L”(大写l):表示库文件目录: “-l”(小写l):表示链 ...
- Makefile文件的使用
编译程序: vi Makefile exe:a.c b.c gcc a.c b.c -o exe clean: rm exe 保存并退出: 这里exe:a.c b.c面的exe称为目标:a.c b.c ...
- log4j教程 1、概述
log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),它在Apache软件许可下发布. Log4j已经被移植到了C,C++,C#,Perl,Python和Ruby等语言中. ...
- Java模式的秘密--java常用的几种模式
要学习设计模式,首先要明白设计模式,就是为实现某一种或某一组功能提供的代码编码方式.它没有固定的套路,只有约定俗成的风格.所有编码者可以根据已有的设计模式开放思维,设计出自己的设计模式,也会在无意中使 ...
- [Fri, 3 Jul 2015 ~ Tue, 7 Jul 2015] Deep Learning in arxiv
Convolutional Color Constancy can this be used for training cnn to narrow the gap between different ...
- 模拟select控件&&显示单击的坐标&&用户按下键盘,显示keyCode
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- <转>创建支持eclipse的多模块maven项目
如何使用eclipse创建Maven工程及其子模块 1,首先创建一个父类工程 子模块继承父类工程 并在父类工程的pom.xml文件中定义引入的jar及其版本号 子模块可以引用 2 ...
- react-native AsyncStorage 数据持久化方案
1,AsyncStorage介绍 AsyncStorage 是一个简单的.异步的.持久化的 Key-Value 存储系统,它对于 App 来说是全局性的.它用来代替 LocalStorage. 由于它 ...