RTSP server 在mips 上莫名其妙退出(PC上则无此问题)

http://blog.csdn.net/lubing20044793/article/details/38523701

早在这篇blog曾经写过,在虚拟机下调试sn9c291时,USB 传输数据出了问题。当时想兴许是virtualbox在usb 上对usb 2.0的支持尚未成熟导致的

所以当时也没管了,就继续在rt5350上调试sn9c291。(以为最新版本的virtualbox可以解决usb 2.0的问题,于是安装最新版本的virtualbox  4.3.16导致

虚拟机启动不了,退回4.3.12 OK)

现在整个rtsp server能运行起来,但是奇怪得是VLC一旦退出了,server也跟着退出了,并且是悄无声息。在这个问题上我跟踪了好几天,怀疑是server

在处理退出terdown下存在不合理的地方,如exit(),退出,查遍代码排除。查看是否是非法内存访问导致的?或者释放了不该释放的资源?但是console

上一丁点的信息都没有一,甚至是凡人的segmentation fault也没出现。也怀疑是某个信号导致的,整个进程退出。但是我注册了N个信号了,仍未触发对应的

处理函数。真的搞不定了?

就这样在rt5350上,源代码上折腾了整个国庆几天,仍然无果!!

就在今天,回想以前的blog写的在pc调试方法,试试pc上是否走得通。于是便有了u盘安装fedora 13的经历。官网上我找了,没找到fedora 13的完整安装

ios,居然下了个live版本的,才几百M。安装后显示器有花点飘动,估计是对本人这台机器支持不好。

为啥选择fedora 13 ?这个和调试sn9c291的驱动有关,它所支持的内核需要匹配。关键是对V4L的版本。原先机器上是安装的fedora 17的,正是因此才

放弃它从新安装fedora 13.

在支持usb 启动盘的时候,使用了live usb creator。下载的是官网最新版本,可是坑爹的是在使用691MB的iso影像做完后,居然启动不了。提示menu.c32
not a com32r image

google不了,于是百度了下。说是VESAMENU.C32版本的问题。下了个别人的说是可以的版本,将一些文件覆盖上即可。安装发现显示器出现花点、一闪一闪的。

随放弃。换成DVD正式发行版。

同样的方式,将dvd的iso制作成usb启动盘,这下来了出现新的问题,提示missing
iso 9660 image

奇了怪了,4G u 盘都装上了很多东西了。居然提示没有,于是百度下。说需要将iso一起放进u盘。但是我看了下里面的东西很全了,其中的packes就狠多了,大约

有2G多。难道这玩意在这就是不管用,但是U盘所剩空间不多,于是将其删除,拷贝上dvd的iso。再次上电,一步一步next下去。终于完成安装。

开始干正事了,为了安装这个玩意可费了我不少时间。将代码拷贝过来编译,发现编译驱动的时候,找不到内核源码。原来安装fedora默认是不会安装内核源码的

于是将iso文件下的kernel安装包rpm拷贝过来、gcc 也一起了。

编译驱动,顺利编程模块,insmod进去,插上usb camera后出现了三个video*设备节点。我的乖乖,不应该是两个吗?先不管了,改下代码。因为驱动上是会创建

两个video设备节点的,一个作为mjpeg、一个作为h264使用。在源码中该一下所open的video的设备节点。

rtsp server也顺利编译过去了,ok。启动server,通过netstat查看,开始监听554端口了。通过另外一个pc吧VLC打开,并将url填上后连接。我地乖乖,居然连接不上

使用wirsharke抓包看看,工具分析是对端拒绝了?我猜想必是该死的防火墙给我挡住了。

于是乎,执行service iptables stop。果真封包开始动起来了,视频也来了。好咧,退出VLC客户端,server居然没死,也没退出,一切迹象表明它还活的好好的。

再次开启vlc连接进去,视频还是来了了,多试了几次还是好好的。NND 这是为啥啊!!

pc是好好的,到了mips下莫名其妙了。我总结了下有以下几点不一样:

1、编译器不一样

2、硬件平台不一样(cpu、内存大小,mips挂的内存仅仅是32M,除了系统等程序有16M 空间使用)

3、软件平台也不一样(内核版本有点诧异,但是驱动是驱动起来了。一个是基于glib的,一个是基于uclibc的)

一样的地方是,驱动是同一套,server是同一套,人是同一个人在调试!!!!

时间: 2024-12-11 14:45:16

RTSP server 在mips 上莫名其妙退出(PC上则无此问题)的相关文章

在PC上测试移动端网站和模拟手机浏览器的5大方

查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备.以下标星的为推荐方法. 1.新建Chrome快捷方式 右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择"复制",复制一个图标副本到桌面.右击该副本,选择"属性",

(转)live555 RTSP Server RTP over TCP BUG

最近碰到一个非常棘手的问题,NVR通过ONVIF协议接入IPC进行录像,在录像时,会发现其中有个别IPC会出现录像断断续续的情况.这种情况很难复现,但是这种情况一旦出现,整个过程会一直持续很长时间,一般是直到重启RTSP Server. 通过苦逼型的大规模测试发现: 1.IPC与NVR之间是通过RTP over TCP的方式传输数据(这个测试结果很简单就可以知道): 2.开启1个客户端(通过RTP over TCP传输数据),打开rtsp流后,使用任务管理器强制结束.紧接着马上再开1个客户端,打

如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server

如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析团队的分析环境),花了一个星期,搭好了.还YY过给这个亲生的儿子起个装逼的名字呢,莫扎特,巴赫什么的,并YY出以下场景{Jenny ,你把模型扔到莫扎特上跑一版最新结果出来...啊哈是不是特有逼格..哦哈哈...}我是部署的Rstudio server,这个是免费的,但是Rstudio sererv

在思科路由器上部署EZVPN(PC Client)

1. 拓扑 1.1 逻辑拓扑 1.2 实验拓扑(GNS3+VMwareworkstation(Win7)) 2. 路由器配置 R3: hostname Internet interface FastEthernet0/0 ip address 192.168.100.3 255.255.255.0 no shutdown interface FastEthernet0/1 ip address 100.1.1.1 255.255.255.0 no shutdown R1: hostname GW

Fiddler—PC上实现手机的抓包

PC上安装Fiddler之后,可以抓取各种浏览器的请求,通过一些设置可以获取iPhone.安卓手机.windows phone的请求.具体的工作原理我也不多说(哼,绝对不是因为我不懂XD),主要说下如何配置来抓取手机上的请求,以iPhone为例. 准备工作:A.安装Fiddler,可以去官网上下载:B. 手机和电脑在同一个网络里. 1 对Fiddler进行一些设置,配置完后记得要重启Fiddler! a. 打开Tools > Fiddler Options >HTTPS,capture HTT

Hello China操作系统在Virtual PC上的安装和使用

http://blog.csdn.net/hellochina15/article/details/7253350 本文介绍如何在Windows 7操作系统和Virtual PC 2007虚拟机上安装Hello China操作系统,Hello China的版本是V1.75.对于Windows XP等非Windows 7操作系统,由于不能直接支持虚拟硬盘,不能按照本文介绍的方法安装Hello China的GUI功能,但是可以安装内核和基于字符界面的shell. HelloChina在Virtual

live555 RTSP Server RTP over TCP BUG

最近碰到一个非常棘手的问题,NVR通过ONVIF协议接入IPC进行录像,在录像时,会发现其中有个别IPC会出现录像断断续续的情况.这种情况很难复现,但是这种情况一旦出现,整个过程会一直持续很长时间,一般是直到重启RTSP Server. 通过苦逼型的大规模测试发现: 1.IPC与NVR之间是通过RTP over TCP的方式传输数据(这个测试结果很简单就可以知道): 2.开启1个客户端(通过RTP over TCP传输数据),打开rtsp流后,使用任务管理器强制结束.紧接着马上再开1个客户端,打

ckplayer 如何在PC上完美支持 m3u8播放

使用过ckplayer的同学都知道,相对jwplayer等,它非常的容易配置和使用.功能也是基本满足我们的需求的. 一般情况我们都使用普通的视频格式比如mp4,flv等播放,但如果视频文件过大,会加载较慢. 于是我们可以将视频转成m3u8格式来解决这个问题(可以百度m3u8来了解原理,简单点说他就是把视频切成若干个切片,每个切片都可以独立播放而且大小很小,然后利用一个文件索引来依次播放这些文件,所以很快) 如何转m3u8格式?可以参考我上一篇博文. =======================

Android-x86 4.4-r5 发布,PC 上的安卓系统

Android x86 即运行于 x86 PC上的Android操作系统,目前已经支持大部分安卓程序. Android X86平台是由Beyounn和Cwhuang主持设计的.项目的主要目的在于为X86平台提供一套完整的Android 系统解决方案.这个项目提供了一套完整的可行源代码树,配套文档以及Live CD与Live USB. 功能 系统的最新版本是发布于2013-07-25 的 Android x86 4.3 这个系统实现了如下功能: 使用Linux 3.1  内核,并开启KMS功能: