當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > S5PV210 上mjpg_streamer的移植
本文的目的在與通過S5PV210板利用usb攝像頭實(shí)現(xiàn)視頻或圖片捕獲,mjpg_streamer的移植就是其中一種方法;并且本文重點(diǎn)在mjpg_streamer的移植,zImage和根文件系統(tǒng)的的制作與開發(fā)板的運(yùn)行已省略,此三項(xiàng)請參考其他文檔;
材料: Ubuntu 12.04.5 LTS 虛擬機(jī)
S5PV210開發(fā)板一塊
USB攝像頭一個(gè)
jpegsrc.v8b.tar.gz壓縮包
mjpg-streamer-code-182.zip壓縮包
交叉編譯工具鏈 toolchain-4.5.1-farsight.tar.bz2
可能用到(usb轉(zhuǎn)口驅(qū)動(dòng))
文檔導(dǎo)讀:
1.jpeg庫的移植; 12%
2.mjpg_streamer的移植 39%
3.開發(fā)板運(yùn)行 65%
4.打開開發(fā)板運(yùn)行mjpg_streamer 67%
5.從網(wǎng)頁上查攝像頭工作情況 88%
1. jpeg庫的移植;
(1) 在ubuntu的home目錄下建立一個(gè)Videos目錄;
mkdir Videos
(2) 把下載好的jpegsrc.v8b.tar.gz放入Videos目錄下并解壓;
tar -xvf jpegsrc.v8b.tar.gz
(3) 配置源碼;
cd jpeg-8b
進(jìn)入解壓后的目錄執(zhí)行下列命令
./ configure --prefix =/home/lpf/Videos/jpeg-8b --host= arm-none-linux-gnueabi
(4) 編譯
make
(5) 安裝
make install
(6) 進(jìn)入lib目錄并把所有.so文件拷貝到/opt/rootfs/lib/目錄下
cp libjpeg.so.* /opt/rootfs/lib/
(7) 到此為開發(fā)板運(yùn)行時(shí)的根文件系統(tǒng)的jpeg庫準(zhǔn)備完成.
2.mjpg_streamer的移植
(1) 把下載好的mjpg-streamer-code-182.zip放入Videos目錄并解壓;
unzip mjpg-streamer-code-182.zip
(2) 進(jìn)入mjpg-streamer-code-182下的mjpg-streamer目錄;
cd mjpg-streamer-code-182/mjpg-streamer
(3) 修改當(dāng)前目錄下及plugins 目錄下的各級Makefile ;
① 將上述的Makefile 中的
CC = gcc
修改為
CC = arm-none-linux-gnueabi-gcc
② 修改plugins/input_uvc/Makefile
修改
CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC
為
CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/home/lpf/Videos/jpeg-8b/include
注:/home/lpf/Videos/jpeg-8b/include 為你的jpeg中的include下文件路徑
修改
$(CC) $(CFLAGS) -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
為
$(CC) $(CFLAGS) -L/home/lpf/Videos/jpeg-8b/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
注:/home/lpf/Videos/jpeg-8b/lib為你的jpeg中的lib下文件路徑
(4) 編譯(回到 mjpg-streamer-code-182/mjpg-streamer)執(zhí)行
make
目的: 生成mjpg_streamer的.so文件
(5) 進(jìn)入/opt/rootfs目錄下創(chuàng)建mjpg目錄
cd /opt/rootfs/
mkdir mjpg
(6) 拷貝文件(回到mjpg-streamer-code-182/mjpg-streamer)
cp mjpg_streamer /opt/rootfs/bin/
cp *.so /opt/rootfs/mjpg/
cp www/ -raf /opt/rootfs/
(7)到此:為開發(fā)板板準(zhǔn)備的jpeg庫和mjpg_streamer文件完畢;
3. 開發(fā)板運(yùn)行
略
4. 在開發(fā)板運(yùn)行mjpg_streamer
./mjpg_streamer -i “/mjpg/input_uvc.so -d/dev/video3” -o “/mjpg/output_http.so -w.www”
注:video3 為你的usb接口 若一切ok,你的攝像頭指示燈會亮;
5. 從網(wǎng)頁上查攝像頭工作情況(注: 192.168.7.106 為你的ubuntu地址);
(1). 打開一個(gè)網(wǎng)頁輸入如下指令就能看到圖片;
http:/192.168.7.106:8080/?action=snapshot
(2). 打開一個(gè)網(wǎng)頁輸入如下指令就能看到視頻;
http:/192.168.7.106:8080/?action=stream
補(bǔ)充:若環(huán)境不同,移植細(xì)節(jié)可能會有差異,請靈活處理!!