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查看,開始监听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上则无此问题)的更多相关文章

  1. PDA手持扫描资产标签,盘点完成后将数据上传到PC端,固定资产系统查看盘点结果

    固定资产管理系统介绍: 致力于研发条码技术.集成条码系统的专业性公司,针对客户的不同需求,提供一站式的企业条码系统解决方案:包括功能强大的软件系统.安全可靠的无线网络.坚固耐用的硬件系统.灵活易用的管 ...

  2. Fiddler—PC上实现手机的抓包

    PC上安装Fiddler之后,可以抓取各种浏览器的请求,通过一些设置可以获取iPhone.安卓手机.windows phone的请求.具体的工作原理我也不多说(哼,绝对不是因为我不懂XD),主要说下如 ...

  3. PC上安装多个操作系统

    目 录 第1章 绪论    1 1.1 目标    1 1.2 适宜的读者    1 第2章 制作启动U盘    2 2.1 初级安装    2 2.2 启动分析    3 2.3 高级安装    1 ...

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

    http://blog.csdn.net/hellochina15/article/details/7253350 本文介绍如何在Windows 7操作系统和Virtual PC 2007虚拟机上安装 ...

  5. (转)live555 RTSP Server RTP over TCP BUG

    最近碰到一个非常棘手的问题,NVR通过ONVIF协议接入IPC进行录像,在录像时,会发现其中有个别IPC会出现录像断断续续的情况.这种情况很难复现,但是这种情况一旦出现,整个过程会一直持续很长时间,一 ...

  6. Fiddler——PC上实现手机的抓包(转载 http://www.jianshu.com/p/13f8a81d7c7c)

    Fiddler是15年初,在千牛中做超级促销插件时,发现没有root的Android机和没有越狱的iPhone无法修改host,因此没办法测试.为了让我这个磨人的PD也能看到,开发推荐了Fiddler ...

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

    如何在linux服务器部署Rstudio server,配置ODBC后通过RODBC包远程访问SQL server 背景介绍:之前写过一篇文章,提到近期要部署Rstudio server(搭建数据分析 ...

  8. 【视频开发】RTSP SERVER(基于live555)详细设计

    /* *本文基于LIVE555的嵌入式的RTSP流媒体服务器一个设计文档,个中细节现剖于此,有需者可参考指正,同时也方便后期自己查阅.(本版本是基于2011年的live555) 作者:llf_17@q ...

  9. 如何在 Mac 上强制退出 App

    同时按住三个按键:Option.Command 和 Esc (Escape) 键.或者,从屏幕左上角的苹果菜单  中选取"强制退出".(这类似于在 PC 上按下 Control- ...

随机推荐

  1. BZOJ2956: 模积和(数论分块)

    题意 题目链接 Sol 啊啊这题好恶心啊,推的时候一堆细节qwq \(a \% i = a - \frac{a}{i} * i\) 把所有的都展开,直接分块.关键是那个\(i \not= j\)的地方 ...

  2. Spring boot初入门

    1. Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.1. @Configuration 和 @Bean Spring的Java配置方式是 ...

  3. iOS 开发多线程 —— NSOperation

    本文是根据文顶顶老师的博客学习而来,转载地址:http://www.cnblogs.com/wendingding/p/3809042.html 一.NSOperation简介 1.简单说明 NSOp ...

  4. 使用angular-cli脚手架快速搭建项目

    第一步 安装全局的angular-cli, npm install -g @angular/cli 或者 cnpm install -g @angular/cli@v1.0.0-rc.2 – 国内淘宝 ...

  5. LevelDB源码分析--Cache及Get查找流程

    本打算接下来分析version相关的概念,但是在准备的过程中看到了VersionSet的table_cache_这个变量才想起还有这样一个模块尚未分析,经过权衡觉得leveldb的version相对C ...

  6. Oracle EBS OM 保留订单

    DECLARE l_header_rec OE_ORDER_PUB.Header_Rec_Type; l_line_tbl OE_ORDER_PUB.Line_Tbl_Type; l_action_r ...

  7. 在命令行中创建Django项目

    1.终端先进入你要放项目的目录. 在命令行输入:django-admin startproject 项目名  .回车,此时创建了一个项目. 例:django-admin startproject my ...

  8. 转:C# lock用法

    lock 的目的很明确:就是不想让别人使用这段代码,体现在多线程情况下,只允许当前线程执行该代码区域,其他线程等待直到该线程执行结束:这样可以多线程避免同时使用某一方法造成数据混乱. 一般定义如下: ...

  9. Web Services 根据wsdl生成代理类

    生成代理类步骤: 一:找到Visual Studio 的工具文件夹 二:用管理员方式打开本机工具命令提示 三:输入要执行的脚本 wsdl /language:C# /n:xxxx.HermesMobi ...

  10. MySQL基础之 逻辑运算符

    mysql的逻辑运算符有四个:与.或.非.异或 我们平时在谈论的时候不考虑带有NULL的情况,今天我们就来考虑一下带有NULL值,他们的结果是怎么样的 AND(&&)运算符 mysql ...