主题 : 交叉编译 MPlayer-1.0rc3 配置文件 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 9105
精华: 0
发帖: 95
金钱: 755 两
威望: 307 点
贡献值: 0 点
综合积分: 190 分
注册时间: 2009-09-17
最后登录: 2017-09-13
楼主  发表于: 2010-09-22 23:07

 交叉编译 MPlayer-1.0rc3 配置文件

图片:
./configure \
--host-cc=gcc \
--cc=arm-linux-gnueabi-gcc \
--target=arm \
--enable-static \
--disable-win32dll \
--disable-dvdread \
--disable-dvdread-internal \
--disable-dvdnav \
--disable-libdvdcss-internal \
\
--disable-largefiles \
--disable-apple-remote \
--disable-apple-ir \
\
--disable-tv \
--disable-tv-v4l1 \
--disable-tv-v4l2 \
--disable-tv-bsdbt848 \
--disable-tv-teletext \
\
--disable-unrarexec \
\
--disable-macosx \
--disable-maemo \
--disable-macosx-finder \
\
--disable-macosx-bundle \
--disable-inet6       \
--disable-gethostbyname2  \
--disable-ftp          \
--disable-vstream      \
--disable-pthreads     \
--disable-w32threads   \
--disable-ass          \
--enable-rpath         \
\
--enable-fbdev \
--disable-mencoder \
--disable-live \
--enable-mad \
--enable-libavcodec_a


结果  李孝利的MV
级别: 圣骑士
UID: 44407
精华: 0
发帖: 386
金钱: 1945 两
威望: 389 点
贡献值: 0 点
综合积分: 772 分
注册时间: 2011-04-25
最后登录: 2014-08-25
1楼  发表于: 2012-03-14 15:39
移植Mplayer


Mplayer在Linux上安裝起來很方便,簡單的 configure,make一下,就裝好了,和QT的GUI配合,界面還是蠻友好的。Mplayer對媒體格式的廣泛支持,以及豐富的後期處理濾鏡,最新的版本更支持DIVX,H.264,MPEG4等最新的流媒體格式,可以實時在線播放視頻流,MPlayer大部分解碼庫都自帶了,如ffmpeg,但是自帶的音頻庫效果不好.換成使用libmad效果不錯.因此MPlayer在ARM-Linux的最簡單的移植只需要移植這兩個即可.移植後即進行字符界面的播放。

如果需要字幕支持.需要移植freetype庫.支持JPG皮膚需要 libjpeg庫,打開DVD光盤格式,需要dvdread,dvdnav等,支持pnm庫需要libpnm

MPlayer的面版主要採用X11支持.但移植X11需要大量工作,一般將其關掉。ARM版同樣可以加入live555支持,支持遠程的RTSP的流媒體播放器,方法同X86版類似。


一、開發環境

編譯系統:Linux12/kernel 2.6.32.24
開發板:Mini6410(nand 1024M,SDRAM 64M)
交叉編譯工具:arm-linux-gcc-4.5.1


實現mplayer,要從三方面著手:

1.編譯Kernel支持ALSA
2.編譯安裝libmad
3.User Mode支持./mplayer配置命令


二、移植Mplayer

1.移植準備
  a. 下載 libid3tag源代碼 (使用libid3tag -0.15.1b)
  b. 下載 libmad源代碼 (使用libmad-0.15.1b)
  c. 下載 Mplayer源代碼(使用Mplayer 1.0rc3)

2.編譯libid3tag
  a. 配置.configure
   #./configure --host=arm-linux --disable-shared --prefix=/usr/local/arm/4.5.1/lib CC="arm-linux-gcc"  \
      --disable-shared –enable-static \
      CPPFLAGS="-I/usr/local/arm/4.5.1/lib/include" \
      LDFLAGS="-L/usr/local/arm/4.5.1/lib/lib"
  b.編譯並安裝libid3tag
        #  make CC=arm-linux-gcc
        #  make CC=arm-linux-gcc install

這一步的目的是在/usr/local/arm/4.5.1/lib下生成lib目錄,在lib目錄下生成include和lib兩個檔夾,對應檔夾中生成id3tag.h和libid3tag.a檔,這兩個檔供mplayer編譯用。

3.編譯libmad
  a. 配置.configure
   #./configure --enable-fpm=arm --host=arm-linux --disable-shared --prefix=/usr/local/arm/4.5.1/lib CC="arm-linux-gcc"
   b. 編輯Makefile:將-fforce-men參數移除
       (原因是gcc 4.4 或者更高版本,已經將其去除了,所以會出現上面的錯誤!)
   c. 編譯並安裝libmad
   #  make CC=arm-linux-gcc
   #  make CC=arm-linux-gcc install

如果不先配置安裝libmad,則在make mplayer時出現找不到mad.h 錯誤,這一步的目的是在/usr/local/arm/4.5.1/lib下生成lib目錄,在lib目錄下生成include和lib兩個檔夾,對應檔夾中生成mad.h和libmad.a檔,這兩個檔供mplayer編譯用。?

4.編譯Mplayer

a. 配置.configure

# ./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm --enable-static --disable-win32dll --disable-dvdread --disable-dvdread-internal --disable-dvdnav --disable-libdvdcss-internal --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --disable-mad --enable-libavcodec_a --language=zh_CN --disable-live 2>&1 | tee logfile

b. 編譯
#  make CC=arm-linux-gcc


測試
./mplayer *.mp3
./mplayer *.avi
./mplayer *.rmvb
[ 此帖被kazaya在2012-03-20 15:50重新编辑 ]