Mplayer 移植
時間:2017-01-05作者:華清(qing)遠見
關(guan)于mplayer移植網(wang)上資料(liao)很多,但都(dou)很混亂。在此(ci),我做(zuo)了一個關(guan)于mplayer 的詳細總結(jie)。在做(zuo)之前(qian)好在解壓源碼(ma)包后,先(xian)通(tong)過./configure --help看一下相關(guan)配(pei)置(zhi)。 X86的(de)LINUX上已經自帶(dai)了解碼(ma)庫(ku)(ku),不需要(yao)另(ling)(ling)外安裝解碼(ma)庫(ku)(ku),而arm平臺自己做的(de)文件(jian)系(xi)統沒有(you)解碼(ma)庫(ku)(ku),需要(yao)另(ling)(ling)外安裝解碼(ma)庫(ku)(ku)。
下載MPlayer:MPlayer-1.0rc2.tar.bz2 一、在x86的LINUX上安裝mplayer
1 #./configure (./configure --enable-gui –-enable-live –-language=zh )
此時在MPlayer-1.0rc2目錄下會生成可執行文件mplayer. 二、移植mplayer到arm平臺的LINUX上(使用4.3.2編譯器) 1 配置安裝libmad
(如果不先配置安裝libmad,則在make mplayer時出現找不到mad.h 錯誤) (1)#./configure --enable-fpm=arm --host=arm-none-linux-gnueabi --disable-shared --disable-debugging --prefix=/usr/local/arm/3.3.2/lib CC=arm-none-linux-gnueabi-gcc
參數解析: (2)#make 注意(yi)如(ru)果(guo)出現error:unrecognized command line option "-fforce-mem"錯誤,需要修改makefile,去(qu)掉--fforce-mem標志(因為arm-eabi編譯器(qi)都不支持這(zhe)個(ge)選項) (3)#make install
此時會在/home/linux目錄下生成include目錄和lib目錄。 2 配置安裝(zhuang)mplayer (1)#./configure --host-cc=gcc --cc=arm-none-linux-gnueabi-gcc --target=arm-linux --enable-static --enable-ossaudio --prefix=/tmp/mplayer-rc2 --disable-win32dll --disable-dvdread --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a --disable-armv5te --disable-armv6 --disable-dvdnav --disable-dvdread --disable-dvdread-internal with-extraincdir=/usr/local/arm/3.3.2/lib/include --with-extralibdir=/usr/local/arm/3.3.2/lib/lib
參數解析: (2)#make 其(qi)中可能(neng)會遇到如下(xia)問題: 1.Error:motion_comp_arm_s.S 在libmpeg2/motion_comp_arm_s.S文件的(de)前面加(jia)上如(ru)下(xia)的(de)內(nei)容(rong):
#ifndef HAVE_PLD 2.vo_ivtv.c:79: error: storage size of ’sd’ isn’t known vo_ivtv.c:80: error: storage size of ’sd1′ isn’t known 添加--disable-ivtv 3. undefined reference to `video_out_ivtv'
在文件 file libvo/video_out.c, 找到 使用arm-linux-gcc 3.3.2編譯mplayer可能(neng)會出(chu)現in.h頭文件錯誤如(ru)下(xia):
/usr/local/arm/3.3.2/include/netinet/in.h:259: parse error before '(' token 需要修改一下/usr/local/arm/3.3.2/include/netinet/in.h中,在(zai) __BEGIN_DECLS 后(hou)面增加下述文字
#undef ntohl (3) make install(出現提示不(bu)認(ren)(ren)識的(de)文件(jian)。因為(wei)是(shi)ARM平(ping)臺運行的(de)文件(jian),所有不(bu)認(ren)(ren)識)
install -m 755 -s mplayer /tmp/mplayer-rc2/bin 要執行時:
#/bin/mpalyer /路徑/要播放的媒體文件名; 三、MPlayer slave命令 在(zai)命(ming)令(ling)中(zhong)(zhong)添加 -slave 和 -quiet就可以通(tong)過(guo)命(ming)令(ling)設(she)置Mplayer實現(xian)相應的(de)功能。在(zai)mplayer源(yuan)碼中(zhong)(zhong)的(de),/DOCS/tech/slave.txt中(zhong)(zhong)對(dui)這些命(ming)令(ling)有詳細的(de)解析。 Mplayer相關文章:
相關資訊
發表評論
|