一、源码包准备以及环境

  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] 720×480 => 852×480 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 播放成功!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

版权声明:本文为tankiii原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/tankiii/p/13172007.html