mplayer 移植

 一、源码包准备以及环境

  1)MPlayer-1.3.0.tar.gz (可以在源码包中查看README文件等,确定编译、安装的步骤)

  2)设置交叉编译工具链环境  

    vi /etc/rprofile

    export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
    export CROSS_COMPILE=arm-linux-gnueabihf-

    export ARCH=arm

    source /etc/profile

  3)下载 zlib-1.2.11.tar.xz

    编译 CC=arm-linux-gnueabihf-gcc ./configure --prefix=./build --static

       make

       make install

  4) mplayer需要alsa-lib实现对alsa声音的支持  下载 alsa-lib-1.2.2.tar.bz2(老版本的源码编译一直报错,可能是交叉编译器版本太高的原因)

    

    ./configure --host=arm-linux-gnueabihf --prefix=/home/rxp/linux/tool/alsa-lib --with-configdir=/usr/share/arm-alsa
    注意, “--with-configdir”用于设置 alsa-lib 编译出来的配置文件存放位置,这里设置为前面创建的“/usr/share/arm-alsa”目录。
    配置完成以后就可以编译了,命令如下:
    make
    //编译
    make install
    //安装
  5)将 alsa-lib 文件下的所有文件、build 下的所有文件  拷贝到 编译器 libc/usr -raf (否则make时会因找不到zlib.h等文件而报错)

    cp /home/rxp/linux/tool/alsa-lib/** /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr -raf

    cp /home/rxp/linux/tool/alsa/zlib-1.2.11/build/** /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr -raf

 二、编译mplayer

    在mplayer源码目录可以通过./configure –h来查看配置选项

   1)新建mybash文件

#!/bin/bash
./configure \
--prefix=/opt/mplayer-arm \
--cc=arm-linux-gnueabihf-gcc \
--target=arm-linux \
--host-cc=gcc \
--disable-ossaudio \
--enable-alsa \
--enable-fbdev \
--disable-mencoder \
--disable-x11 \
--disable-freetype \
--disable-sdl \
--disable-live \
--disable-dvdread \
--disable-dvdnav \
--disable-jpeg \
--disable-tga \
--disable-pnm \
--disable-tv \
--disable-ivtv \
--disable-fontconfig \
--disable-xanim \
--disable-win32dll \
--disable-armv5te \
--disable-armv6 \
--extra-cflags="-I/usr/zlib-1.2.11/build/include/-I/usr/alsa-lib/include/ -DHAVE_ARMV8=0" \
--extra-ldflags="-L/usr/zlib-1.2.11/build/lib/ -lz -L /usr/alsa-lib/lib/ -lasound"

 

./mybash

make 完成编译

三、测试

  将编译生成的mplayer文件拷贝至开发板文件系统 /usr/bin目录下

  mplayer 333.mp3 //一切正常

  mplayer gbqq.mkv// 无法播放视频

    Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.

    [swscaler @ 0xd24f58]No accelerated colorspace conversion found from yuv420p to rgb565le.
    VO: [fbdev] 720x480 => 852x480 BGR 16-bit
    Can't put VSCREENINFO: Invalid argument
    FATAL: Cannot initMovie-Aspect is 1.78:1 - prescali

  于是查看 mplayer -help

      -vo <drv>        select video output driver ('-vo help' for a list)

      于是查看 mplayer -vo help

      Available video output drivers:
      fbdev Framebuffer Device
      fbdev2 Framebuffer Device
      v4l2 V4L2 MPEG Video Decoder Output
      null Null video output
      mpegpes MPEG-PES to DVB card
      yuv4mpeg yuv4mpeg output for mjpegtools
      png PNG file
      md5sum md5sum of each frame

 

  最终 mplayer -vo fbdev2 gbqq.mkv 播放成功!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

posted @ 2020-06-21 12:16  Tankiii  阅读(905)  评论(0)    收藏  举报