开源视频服务软件MJPG-streamer移植
2012-08-23 22:48
357 查看
内容摘要:
主机环境: Ubuntu11.10
目标机: 飞凌-Ok6410-A
目标机系统:linux2.6.36
编译环境: arm-linux-gcc-4.3.2
USB摄像头:中星微-zc301p
MJPG-stream的移植需要jpeg库,所以必须先移植jpeg库
源码下载:jpeg源码包:http://www.ijg.org/files/jpegsrc.v8b.tar.gz
MJPG-stream源码包: http://sourceforge.net/projects/mjpg-streamer/
移植步骤:
1.jpeg库移植
(1)解压jpeg源码包
(2)配置源码
上面的/lxm/jpeg为自己建的目录,视自己情况而定,编译器也是。
(3)编译
(4)安装
(5)复制库文件到文件系统中
2.MJPG-stream的移植
(1)解压源码
(2)修改源码
修改顶层makefile及plugins目录中的各级makefile将所有
CC=gcc修改为CC=arm-linux-gcc
修改plugins/input_uvc/Makfile
修改
CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared –fPIC
为
CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/lxm/jpeg/include
修改
$(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
为
$(CC) $(CFLAGS) -ljpeg -L/lxm/jpeg/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
(3)编译
(4)复制相关库文件到开发板
(5)测试
打开开发板运行
mjpg_streamer -i "/mjpg/input_uvc.so -d /dev/video0" -o "/mjpg/output_http.so -w /www"
在源码目录下有start.sh,这个脚本里有一些mjpg-stream的使用方法及说明
打开一个网页输入下面地址就能够看到一个视频(开发板的IP为192.168.1.202):
http://192.168.1.202:8080/?action=stream
打开一个网页输入下面地址就能够看到一个静态图片:
http://192.168.1.202:8080/?action=snapshot
(6)在mjpg源码下有一个www的目录,这个一个网络使用mjpg的实例,结合web服务器(boa)可以实现一些其他相关功能。
做这个移植主要是测试自己买的中新微的USB摄像头对于Linux2.6.36是否支持,现在成功显示,说明该Linux2.6.36支持中星微zc301p的摄像头。
参考文章:
MJPG-streamer是一个轻量级的视频服务器软件,一个可以从单一输入组件获取图像并传输到多个输出组件的命令行应用程序,可应用在基于IP协议的网络中,从网络摄像头中获取并传输JPEG格式的图像到浏览器,甚至是一个运行了TCPMP播放器的Windows移动设备。该工具源码简洁,注释清晰,使用Linux C语言进行开发,可移植到不同的计算机平台。
准备阶段:主机环境: Ubuntu11.10
目标机: 飞凌-Ok6410-A
目标机系统:linux2.6.36
编译环境: arm-linux-gcc-4.3.2
USB摄像头:中星微-zc301p
MJPG-stream的移植需要jpeg库,所以必须先移植jpeg库
源码下载:jpeg源码包:http://www.ijg.org/files/jpegsrc.v8b.tar.gz
MJPG-stream源码包: http://sourceforge.net/projects/mjpg-streamer/
移植步骤:
1.jpeg库移植
(1)解压jpeg源码包
$tar xvf jpegsrc.v8b.tar.gz
(2)配置源码
$ ./configure --prefix=/lxm/jpeg --host=arm-linux-gcc
上面的/lxm/jpeg为自己建的目录,视自己情况而定,编译器也是。
(3)编译
$make
(4)安装
$make install
(5)复制库文件到文件系统中
$cp /lxm/jpeg/lib/libjpeg.so.8 /source/rootfs/lib
2.MJPG-stream的移植
(1)解压源码
$tar xvf mjpg-streamer-r63.tar.gz
(2)修改源码
$cd mjpg-streamer-r63
修改顶层makefile及plugins目录中的各级makefile将所有
CC=gcc修改为CC=arm-linux-gcc
修改plugins/input_uvc/Makfile
修改
CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared –fPIC
为
CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/lxm/jpeg/include
修改
$(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
为
$(CC) $(CFLAGS) -ljpeg -L/lxm/jpeg/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
(3)编译
$make
(4)复制相关库文件到开发板
$mkdir /source/rootfs/mjpg $cp *.so /source/rootfs/mjpg $cp mjpg-stream /source/rootfs/bin
(5)测试
打开开发板运行
mjpg_streamer -i "/mjpg/input_uvc.so -d /dev/video0" -o "/mjpg/output_http.so -w /www"
在源码目录下有start.sh,这个脚本里有一些mjpg-stream的使用方法及说明
打开一个网页输入下面地址就能够看到一个视频(开发板的IP为192.168.1.202):
http://192.168.1.202:8080/?action=stream
打开一个网页输入下面地址就能够看到一个静态图片:
http://192.168.1.202:8080/?action=snapshot
(6)在mjpg源码下有一个www的目录,这个一个网络使用mjpg的实例,结合web服务器(boa)可以实现一些其他相关功能。
做这个移植主要是测试自己买的中新微的USB摄像头对于Linux2.6.36是否支持,现在成功显示,说明该Linux2.6.36支持中星微zc301p的摄像头。
参考文章:
相关文章推荐
- 开源视频软件MJPG-streamer的移植(基于cubieboard A10 Cortex-A8 )
- 开源视频服务器软件MJPG-streamer研究
- 一个用于网络摄像机的开源软件 --- mjpg-streamer
- mjpg-streamer视频服务器移植
- MJPG-Streamer视频流服务器移植
- FSPAD_702 MJPG-Streamer视频流服务器移植
- 基于mjpg_streamer视频服务器移植【转】
- mjpg-streamer视频服务器移植
- mjpg-streamer 移植到OK6410,从摄像头采集视频直播
- FSPAD_702 MJPG-Streamer视频流服务器移植心得
- mjpg-streamer 视频服务器的移植
- 视频服务器软件MJPG-streamer在嵌入式多媒体数据处理中的应用
- 【OK210试用体验】进阶篇(2)视频图像采集之MJPG-streamer编译(arm移植)
- 在线IT服务网站开源软件
- [转]开源实时视频码流分析软件:VideoEye
- 开源实时视频码流分析软件:VideoEye
- 开源实时视频码流分析软件:VideoEye
- 如何移植开源软件到嵌入式Linux系统
- 移动端视频通话软件----sip----开源软件----阿冬专栏
- 6个视频类的相关开源软件