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影像做完后,竟然启动不了。
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查看,開始监听554port了。通过另外一个pc吧VLC打开。并将url填上后连接。
我地乖乖,竟然连接不上
使用wirsharke抓包看看,工具分析是对端拒绝了?我猜想必是该死的防火墙给我挡住了。
于是乎,运行service iptables stop。果真封包開始动起来了。视频也来了。好咧,退出VLCclient,server竟然没死。也没退出。一切迹象表明它还活的好好的。
再次开启vlc连接进去。视频还是来了了,多试了几次还是好好的。NND 这是为啥啊!
!
pc是好好的,到了mips下莫名其妙了。我总结了下有下面几点不一样:
1、编译器不一样
2、硬件平台不一样(cpu、内存大小。mips挂的内存不过32M。除了系统等程序有16M 空间使用)
3、软件平台也不一样(内核版本号有点诧异,可是驱动是驱动起来了。一个是基于glib的。一个是基于uclibc的)
一样的地方是,驱动是同一套。server是同一套,人是同一个人在调试!!!!
RTSP server 在mips 上莫名其妙退出(PC上则无此问题)的更多相关文章
- PDA手持扫描资产标签,盘点完成后将数据上传到PC端,固定资产系统查看盘点结果
固定资产管理系统介绍: 致力于研发条码技术.集成条码系统的专业性公司,针对客户的不同需求,提供一站式的企业条码系统解决方案:包括功能强大的软件系统.安全可靠的无线网络.坚固耐用的硬件系统.灵活易用的管 ...
- Fiddler—PC上实现手机的抓包
PC上安装Fiddler之后,可以抓取各种浏览器的请求,通过一些设置可以获取iPhone.安卓手机.windows phone的请求.具体的工作原理我也不多说(哼,绝对不是因为我不懂XD),主要说下如 ...
- PC上安装多个操作系统
目 录 第1章 绪论 1 1.1 目标 1 1.2 适宜的读者 1 第2章 制作启动U盘 2 2.1 初级安装 2 2.2 启动分析 3 2.3 高级安装 1 ...
- Hello China操作系统在Virtual PC上的安装和使用
http://blog.csdn.net/hellochina15/article/details/7253350 本文介绍如何在Windows 7操作系统和Virtual PC 2007虚拟机上安装 ...
- (转)live555 RTSP Server RTP over TCP BUG
最近碰到一个非常棘手的问题,NVR通过ONVIF协议接入IPC进行录像,在录像时,会发现其中有个别IPC会出现录像断断续续的情况.这种情况很难复现,但是这种情况一旦出现,整个过程会一直持续很长时间,一 ...
- Fiddler——PC上实现手机的抓包(转载 http://www.jianshu.com/p/13f8a81d7c7c)
Fiddler是15年初,在千牛中做超级促销插件时,发现没有root的Android机和没有越狱的iPhone无法修改host,因此没办法测试.为了让我这个磨人的PD也能看到,开发推荐了Fiddler ...
- 如何在linux服务器部署Rstudio server,配置ODBC远程访问win 服务器上的SQL server
如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析 ...
- 【视频开发】RTSP SERVER(基于live555)详细设计
/* *本文基于LIVE555的嵌入式的RTSP流媒体服务器一个设计文档,个中细节现剖于此,有需者可参考指正,同时也方便后期自己查阅.(本版本是基于2011年的live555) 作者:llf_17@q ...
- 如何在 Mac 上强制退出 App
同时按住三个按键:Option.Command 和 Esc (Escape) 键.或者,从屏幕左上角的苹果菜单 中选取"强制退出".(这类似于在 PC 上按下 Control- ...
随机推荐
- BZOJ3351: [ioi2009]Regions(根号分治)
题意 题目链接 Sol 很神仙的题 我们考虑询问(a, b)(a是b的祖先),直接对b根号分治 如果b的出现次数\(< \sqrt{n}\),我们可以直接对每个b记录下与它有关的询问,这样每个询 ...
- js-ES6学习笔记-async函数(3)
1.await命令后面的Promise对象,运行结果可能是rejected,所以最好把await命令放在try...catch代码块中. 2.多个await命令后面的异步操作,如果不存在继发关系,最好 ...
- span元素文字自动换行
<span>加上display:inline-block,成功实现了想要的效果.但又有一个问题,纯连续字母和数字不会换行,最后加上word-wrap: break-word强制自动换行搞定 ...
- eclipse安装可视化swing插件
众所周知,eclipse作为Java的主流IDE之一,拥有强大的插件功能.这里介绍一种,必要时刻需要做一点awt或者swing时能派上用场. 进入下面的链接,官网下载组件 http://www.ecl ...
- iftop 命令
在Linux中有一个可以实施监控网络流量的一个工具那就是我们这次要说的iftop命令,这个命令不是系统自带的内置命令,在使用之前是需要先进行安装的 安装方式:yum -y install iftop就 ...
- JavaScript实现IP地址的输入框方式
最近遇到一些这样的需求:实现一种IP地址的输入方式,就是输入3个字符或自动跳到下一个输入框内,删除的时候,一个输入框没有了字符,自动跳回上一个输入框.看到这里,相信大家都有一些想法了,没错,这种方法就 ...
- JSP指示元素<%@ %> 与指示类型
JSP提示元素 <%@ 指示类型 [属性="值"]%> 指示类型 指示类型有三种,分别是taglib.include.page taglib指示类型 用于引入标签库 ...
- 【jdk源码2】Objects源码学习
在学习上一个类TreeMap的时候,提到了这个类,这个类是jdk1.7新增的,里面有很多实用的方法.就是一个工具类,熟悉以后,如果里面有已经实现的方法,那么就不要再去实现了,省时省力省测试. 一.简单 ...
- LeetCode 题解之Linked List Cycle II
1.题目描述 2.问题分析 使用快慢指针方法判断链表是否有环,然后寻找环开始的节点. 3.代码 ListNode *detectCycle(ListNode *head) { if( head == ...
- 关于 Azure Windows VM 的磁盘和 VHD
就像其他任何计算机一样,Azure 中的虚拟机将磁盘用作存储操作系统.应用程序和数据的位置. 所有 Azure 虚拟机都至少有两个磁盘,即 Windows 操作系统磁盘和临时磁盘. 操作系统磁盘基于映 ...