RTSP server 在mips 上莫名其妙退出(PC上则无此问题)
2016-04-11 20:22
274 查看
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是同一套,人是同一个人在调试!!!!
早在这篇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是同一套,人是同一个人在调试!!!!
相关文章推荐
- 我离baidu.com有几跳
- poj 1947(树形dp+背包问题)
- Android开发系统工具类SysUtils:获取App版本号、SD卡目录、缓存目录、是否后台运行、前台可见
- 中国剩余定理
- Problem G: C语言习题 成绩输出
- 第7周-项目3-用多文件组织多个类的程序
- poi追加内容
- Tomcat安装教程
- Nginx安装及配置文件nginx.conf详解
- Auto Layout深入理解,及masonry简介
- IOS开发-UI学习-UITabBarController的使用
- edittext_解释
- 数据库设计 Step by Step (6) —— 提取业务规则
- MySQL表字段的创建、删除、修改操作
- Android学习笔记之ListView
- 【rapid-generator】代码生成器工具使用
- linux文件属性(1)
- maven
- 莫比乌斯反演之入门
- Square 之 Retrofit 使用详解