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- ...
随机推荐
- 转 [PHP] - 性能加速 - 开启Opcache
原文地址:[PHP] - 性能加速 - 开启Opcache PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升 一.开启Opc ...
- 实验:JS判断浏览器中英文版本
<script type="text/javascript"> var lang = (navigator.systemLanguage?navigator.syste ...
- 基于 WPF 平台的 ActiveReports Viewer控件
ActiveReports 报表控件致力于为组织和个人提供最出色的报表解决方案,多年来ActiveReports已经提供了 Windows Forms.Web.Silverlight和Flash平台的 ...
- JetBrains PhpStorm 2017.2 x64 激活
使用方法:激活时选择License server 填入http://idea.imsxm.com 点击Active即可
- Django CMDB
cp:https://www.cnblogs.com/wupeiqi/articles/6192986.html https://www.cnblogs.com/sss4/p/10131953.htm ...
- Google 和 Facebook 如何大规模处理 IT 事件管理 —— 2016 SRE 大会之我见
[编者按]本文作者为 Maria Arbisman,主要介绍 Google 与 Facebook 两大巨头是如何大规模处理 IT 事件管理.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 2 ...
- LeetCode题解之Max Consecutive Ones
1.题目描述 2.问题分析 遍历一次数组,以每个1 为起点向后数,数到0 时比较当前1的个数和最大1 的个数,然后将遍历的起点放到当前0 的后面. 3.代码 int findMaxConsecutiv ...
- [SQLSERVER] 把TransactionLog截断
注意:以下语句非常危险 --BACKUP LOG MyDb TO DISK=’NUL:’
- MySQL crash-safe replication(3): MySQL的Crash Safe和Binlog的关系
2016-12-23 17:29 宋利兵 作者:宋利兵 来源:MySQL代码研究(mysqlcode) 0.导读 本文重点介绍了InnoDB的crash safe和binlog之间的关系,以及2阶段提 ...
- Linux 辅助命令
0. 说明 记录在 Linux 使用过程中的一些有帮助的命令 1. 命令集合 [1.1 错误输出重定向] # 将错误信息重定向到 /dev/null source /xxx >/dev/null ...