徹底玩轉 S3C2440 Linux 攝像頭(包括USB和COMS攝像頭)
發(fā)布時間:2019-04-16 閱覽次數(shù):1466 次
徹底玩轉 S3C2440 Linux 攝像頭(包括USB和COMS攝像頭)
編譯系統(tǒng)
|
Ubuntu10.04
|
交叉編譯器
|
arm-linux-gcc 4.3.3
|
硬件設備
|
LT2440開發(fā)板 USB或者CMOS攝像頭
|
測試軟件
|
mjpg_streamer
|
依賴庫
|
SDL-1.2.14 jpegsrc.v8b.tar.gz
|
1.mjpg_streamer 簡介
mjpg_streamer 是一個命令行的程序,從輸入設備拷貝圖像數(shù)據(jù)到輸出設備,默認是支持單輸入多輸出的。它的輸出就是一幀幀jpeg圖片,它可以輸出到不同的設備,可以用不同的程序通過網(wǎng)絡查看它輸出的內容(各種瀏覽器:搜狗,谷歌瀏覽器等,各種播放器Mplayer,QQ播放器,還有Windows Mobile的TCPMP-Player)。它可以作為一個網(wǎng)絡攝像機的后臺程序。程序結構非常清晰,程序采用插件的方式,動態(tài)加載不同的輸入輸出庫文件,使得程序非常易于擴展。當然他的缺點就是傳輸?shù)?/span>mjpeg圖像,壓縮不夠,數(shù)據(jù)量比較大,使用MPEG4標準壓縮傳輸可以達到更好的效果。
下載地址:http://mjpg-streamer.svn.sourceforge.net/viewvc/mjpg-streamer.tar.gz?view=tar
有個輸出模塊依賴SDL庫,SDL庫比較有意思,下一步重點學習。
SDL下載地址: http://www.libsdl.org/release/SDL-1.2.14.tar.gz
jpeg庫下載地址:http://www.ijg.org/files/jpegsrc.v8b.tar.gz
以下的“/home/pk ”錄我的用戶目錄請根據(jù)你的修改”
2.編譯SDL,經(jīng)典三部曲congfigure ;make ;make install
$ ./configure --prefix=/home/pk/sdl --host=arm-linux
--disable-esd
--disable-pulseaudio
--disable-diskaudio
--disable-dummyaudio
--disable-mintaudio
--disable-altivec
--disable-nas
--disable-nasm
--disable-video-nanox
--disable-video-x11
--disable-video-photon
--disable-video-cocoa
--disable-video-ps2gs
--disable-video-ps3
--disable-video-wscons
--disable-video-dummy
--disable-video-opengl
--disable-osmesa-shared
$ make
$ make install
編譯jpegsrc.v8b.tar.gz
$ tar zxf jpegsrc.v8b.tar.gz
$ cd jpeg-8b/
$ ./configure --prefix=/home/pk/sdl --host=arm-linux
$ make
$ make install
3.編譯mjpg_streamer
mjpg_streamer由于沒有configure,需要手動修改一些文件
解壓mjpg_streamer
$ tar jxf mjpg-streamer.tar.bz2
$ cd mjpg-streamer/mjpg-streamer/
#我們只需要mjpg-streamer目錄下的內容 還有需要用到mjpeg-client目錄下遠程測試程序
修改mjpg-streamer目錄下的所有的makefile文件,將
# set the compiler to use
CC = gcc
改為 CC =arm-linux-gcc。這個目錄下包括子目錄的makefile都要改
還需要修改mjpg-streamer/mjpg-streamer/plugins/output_viewer目錄下的makefile加入SDL庫的鏈接支持,修改如下
CFLAGS += -DUSE_SDL -I/usr/include/SDL 這一行改為 CFLAGS += -DUSE_SDL -I/home/pk/sdl/include/SDL -I/home/pk/sdl/include
#CFLAGS += -DDEBUG
LFLAGS += -L/home/pk/sdl/lib -ljpeg -lSDL
接著就可以編譯了。
$ make
編譯之后有一下文件是我們需要的
mjpg_streamer output_file.so output_http.so output_viewer.so input_uvc.so input_file.so
將mjpg_streamer放到你文件系統(tǒng)bin目錄下
將output_file.so output_http.so output_viewer.so input_uvc.so input_file.so放到你/lib/modules/目錄下
將/home/pk/sdl/lib 目錄下的文件都拷貝到/lib目錄下,解決找不到庫的問題
就可以進行測試了