基于S3C2410的视频服务器实现过程

来源:互联网 发布:飞车暴风雪改装29数据 编辑:程序博客网 时间:2024/05/22 06:36

基于S3C2410的视频服务器实现过程
在此记录 基于S3C2410的视频服务器实现过程:

硬件包括:计算机、网线、2410开发板、USB摄像头等

软件:H.264源码、ARM端的Linux内核、应用程序、PC机的视频接收显示程序等

实现过程(主要是ARM端)如下:

1、配置编译Linux内核:
将USB摄像头的驱动(SPCA5XX)添加到driver/usb目录下,修改相应的Makefile和Config.in
make distclean
make menuconfig(选中V4L、RAM Disk支持及设置合适的大小、USB摄像头驱动选项、热插拔支持等)
make clean
make CROSS_COMPILE=arm-linux- zImage

2、编译h.264库和应用程序
在h.264库的build/linux目录下修改makefile文件并之行:make clean、make
在应用程序目录修改对应makefile文件后之行make
(会出现找不到versioh.h的问题:将内核源码下的include/linux/version.h拷贝到arm-linux-gcc对应的库下/include/linux下即可)

3、制作ramdisk
RDSIZE=8000
BLKSIZE=1024
dd if=/dev/zero of=/tmp/ramdisk.img bs=$BLKSIZE count=$RDSIZE
/sbin/mke2fs -F -m 0 -b $BLKSIZE /tmp/ramdisk.img $RDSIZE
mount /tmp/ramdisk.img /mnt/initrd -t ext2 -o loop=/dev/loop0
在/mnt/initrd目录下添加ramdisk内容,包括库文件、应用程序、启动脚本等
umount /mnt/initrd
gzip -9 ramdisk.img

4、下载内核及ramdisk并之行
tftp 30008000 zImage
tftp 30800000 ramdisk.img.gz
go 30008000
如果启动成功会进入提示符,此时插入usb摄像头会提示设备信息

5、配置并运行应用程序
mknod /dev/video0 c 81 0
chmod 777 server_arm
ifconfig eth0 192.168.8.132
配置好PC机IP(192.168.8.133)并启动应用程序
./server_arm
如果上述操作均成功,则在SecureCRT中会看到编码提示信息,在pC应用程序中有看到视频