Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407105
  • 博文数量: 48
  • 博客积分: 1820
  • 博客等级: 上尉
  • 技术积分: 705
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-28 23:10
文章分类

全部博文(48)

文章存档

2012年(1)

2011年(12)

2010年(34)

2009年(1)

分类: 嵌入式

2010-07-23 23:48:56



本课题基于嵌入式Linux实现的嵌入式视频采集程序名称为app_cap,相应的PC端实现的视频实时显示程序为app_mpeg。S3C2440开发板上的LCD分辨率为320*240。本课题设定嵌入式端的IP为192.168.1.6,相应的PC端IP设定为192.168.1.180。

S3C2440开发板及摄像头截图如图所示:



嵌入式端视频采集程序运行与测试

 测试USB摄像头驱动程序

嵌入式端,启动嵌入式Linux操作系统,将USB摄像头接入S3C2440上,通过dmesg命令得到如下信息:

#dmesg

usb 1-1: new full speed USB device using s3c2410-ohci and address 2

usb 1-1: New USB device found, idVendor=0ac8, idProduct=3313

usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0

usb 1-1: Product: Topspeed USB 2.0 Camera.

usb 1-1: Manufacturer: Topspeed Corp.

usb 1-1: configuration #1 chosen from 1 choice

上面的信息种可以清晰的看到USB摄像头的品牌Topspeed USB 2.0 Camera,说明UVC驱动程序已经正确识别了USB摄像头设备。Linux操作系统生成了设备文件/dev/vidoe0,也充分说明了设备驱动程序已经正确工作。

 测试MiniGUI的视频显示

进入嵌入式Linux,运行视频采集程序app_cap,S3C2440的LCD上成功显示了视频图像。其运行时截图如图所示:



 RTP服务测试

嵌入式端视频采集程序app_cap的总体运行信息如图所示:



当有PC端开始通过RTP协议与嵌入端进行通信时,嵌入式端会将PC端加入到RTP组播列表中,PC端便可以接收嵌入式端以RTP打包的视频数据。当PC端第一次与嵌入式端进行通信时,嵌入式端打印如下信息:

Adding destination 192.168.1.180:5000

当PC端视频显示程序关闭时,嵌入式端会将PC端从RTP组播列表中删除。嵌入式端会打印如下信息:

Deleting destination 192.168.1.180:5000

5.2  PC端视频监控程序运行与测试

确保嵌入式视频采集程序已经工作,将S3C2440与PC网络互通,运行PC端监控程序app_mpeg

#./app_mpeg

视频图像通过SDL窗口显示出来,视频流畅清晰,且非常稳定。

PC端实时视频显示截图如所示:


连续使其运行5分钟,关闭视频显示窗口,目录下生成俩个视频文件target.avi和target.mp4。target.avi为未经压缩的原始视频流数据,target.mp4为压缩编码保存的视频文件,经比较,MP4文件小于原始数据的1/3,并且利用暴风影音播放此MP4文件,视频质量几乎是无任何损失。其文件大小比较如下:

[root@localhost make_mpeg]# ls -lh target.avi target.mp4 

-rw-r--r-- 1 root root 36M 06-13 11:51 target.avi

-rw-r--r-- 1 root root 10M 06-13 11:51 target.mp4

利用播放器回放两个视频文件,二者拥有相同的视频质量。其运行时截图如图所示:




阅读(3772) | 评论(1) | 转发(2) |
给主人留下些什么吧!~~

xzf200820042013-03-26 16:38:04

今年的目标,实现这个