Linux系统的madplay、mplayer音视频播放器的制作

madplay和mplayer的安装环境

  1. ubuntu18.04系统
  2. GEC6818 ARM cortex-A53开发板
  3. arm-linux-gcc 5.4.1

如果没有系统没有对应的编译环境,可参考Linux系统交叉编译环境的搭建

一、Linux系统录音播放源码的下载和移植

1、需要下载alsa-lib-1.2.6.tar.bz2(声音驱动的内核组件库)和 libmad-0.15.1b.tar.gz(解码库)

  1. 到 http://www.alsa-project.org/main/index.php/Download 下载alsa-lib-1.2.6.tar.bz2库;在这里插入图片描述
    找到对应的压缩包下载在这里插入图片描述
  2. https://www.linuxfromscratch.org/blfs/view/svn/multimedia/libmad.html下载libmad-0.15.1b.tar.gz(解码库)在这里插入图片描述

2、Ubuntu18.04移植编译alsa-arm.tar.gz库

  1. 在arm目录下创建alsa-arm文件夹mkdir -p /usr/local/arm/alsa-arm
  2. 解压 xxx.tar.gz 解压 tar -zxvf xx.tar.gz(后缀为gz的解压命令)
    xxx.tar.bz2 解压 tar -jxvf xx.tar.bz2(后缀为bz2的解压命令)
  3. 进入解压的目录配置参数./configure CC=arm-linux-gcc --host=arm-linux --prefix=/usr/local/arm/alsa-arm
    在这里插入图片描述
    ./configure //shell脚本 配置工具
    CC=arm-linux-gcc //编译工具
    –host=arm-linux //平台
    –prefix=/usr/local/arm/alsa-arm //安装路径
  4. Makefile里设置
    (1)程序中添加头文件 #include “asoundlib.h”,在库文件夹include/alsa/asoundlib.h
    (2)Makefile里设置
    头文件路径
    库文件路径
    库名 -lasound
    MakeFile的详解参加Makefile代码解释
  5. 编译和下载make && make install
  6. 打包压缩包tar zcvf alsa-arm.tar.gz alsa-arm,将压缩包移植到开发板中
  7. 库目录放置在开发板的路径:
  • 系统路径,cp alsa-arm/lib/* /lib -radf /lib (不需要配置/etc/profile,因系统已配置好)
  • 自定义路径 /usr/local/arm (需要配置)
    配置相应环境变量:vi /etc/profile在后面添加
    export LD_LIBRARY_PATH=/usr/local/arm/libmad-arm/lib:$LD_LIBRARY_PATH
    刷新配置:source /etc/profile
    -把库文件放到对应项目文件夹中

3、Ubuntu18.04移植编译libmad-0.15.1b.tar.gz库

注意:如果通过代码对MP3进行解码,得下载libmad-0.15.1b.tar.gz

  1. 在arm目录下创建alsa-arm文件夹mkdir -p /usr/local/arm/libmad-arm
  2. 解压和进入解压目录配置参数:tar -zxvf libmad-0.15.1b.tar.gz
    ./configure CC=arm-linux-gcc --host=arm-linux --prefix=/usr/local/arm/libmad-arm
    选项说明:
    ./configure
    CC=arm-linux-gcc
    –host=arm-linux
    –prefix=/usr/local/libmab/mad
    –disable-shared
    –disable-debugging
  3. 修改Makefile文件,gedit Makefile ctrl+f查找-fforce-mem将其删掉保存退出。
  4. 编译与安装make && make install,把相对应的库打包移植到开发中
  5. 库目录放置在开发板的路径:
  6. 系统路径, /lib (不需要配置/etc/profile,因系统已配置好)
  7. 自定义路径 /usr/local/arm (需要配置)
    配置相应环境变量:vi /etc/profile在后面添加
    export LD_LIBRARY_PATH=/usr/local/arm/libmad-arm/lib:$LD_LIBRARY_PATH
    刷新配置:source /etc/profile
    -把库文件放到对应项目文件夹中
  8. 库使用
    (1)在程序中添加头文件#include “mad.h”
    (2)Makefile里设置
    头文件路径:-I头文件路径
    库文件路径:-L库路径
    库名: -lmad

二、Linux系统madplay的编译与移植

1、准备以下几个库

  1. zlib-1.2.7.tar.gz //用于文件的压缩与解压;
  2. libid3tag-0.15.1b.tar.gz //mp3的解码库;
  3. libmad-0.15.1b.tar.gz //madplay的库文件;
  4. madplay_0.15.2b.orig.tar.gz //播放程序的压缩包,mp3播放器的源码

2、Linux对各个库的操作

(1) zlib-1.2.7.tar.gz的操作
  1. 创建mp3的安装目录mkdir -p /usr/local/arm/madplay_arm/
  2. 第一次解压tar zxvf zlib-1.2.7.tar.gz -C ~
  3. 进入解压的库配置参数export CC=arm-linux-gcc./configure --prefix=/usr/local/arm/madplay_arm
  4. 编译和安装make && make install
  5. 把第一次解压的文件夹删掉rm -R ~/zlib-1.2.7/
  6. 重新进行第二次解压tar zxvf zlib-1.2.7.tar.gz -C ~
  7. 配置参数export CC=arm-linux-gcc./configure --shared --prefix=/usr/local/arm/5.4.0/usr根据自定义路径进行配置
  8. 再次进行编译和安装make && make install;
(2) libid3tag-0.15.1b.tar.gz的操作
  1. 解压 libid3tag-0.15.1b.tar.gz到家目录tar zxvf libid3tag-0.15.1b.tar.gz -C ~
  2. 进入目录并配置Makefile参数./configure --prefix=/usr/local/arm/madplay_arm --host=arm-linux CPPFLAGS="-I/usr/local/arm/madplay_arm/include" LDFLAGS="-L/usr/local/arm/madplay_arm/lib -lz"
  3. 编译和安装make && make install
(3)libmad-0.15.1b.tar.gz的操作
  1. 解压 libid3tag-0.15.1b.tar.gz到家目录tar zxvf libmad-0.15.1b.tar.gz -C ~
  2. 进入目录并配置Makefile参数./configure --prefix=/usr/local/arm/madplay_arm --host=arm-linux
  3. 直接make会出现问题,修改Makefile文件,gedit Makefile ctrl+f查找-fforce-mem将其删掉保存退出。
  4. 编译和安装make && make install
(4)madplay_0.15.2b.orig.tar.gz的操作
  1. 解压 madplay_0.15.2b.orig.tar.gz到家目录tar zxvf madplay_0.15.2b.orig.tar.gz -C ~
  2. 配置参数./configure --prefix=/usr/local/arm/madplay_arm --host=arm-linux --disable-debugging --disable-shared CPPFLAGS="-I/usr/local/arm/madplay_arm/include" LDFLAGS="-L/usr/local/arm/madplay_arm/lib"
  3. 编译和安装`make && make install;

3、完成以上所有步骤后,会在/usr/local/arm/madplay_arm/bin/下看到“madplay”这个可执行文件,为MP3播放器。

三、Linux系统下mplayer视频播放器的制作

1、下载MPlayer-1.4源码

http://www.mplayerhq.hu/design7/dload.html#source下载MPlayer源码

(1)MPlayer-1.4.tar.xz源码的操作
  1. 解压源码包xz -d MPlayer-1.4.tar.xz
    tar xvf MPlayer-1.4.tar -C ~;
  2. 进入解压的文件夹cd ~/MPlayer-1.4/
  3. 进入/libvo修改源码,gedit libvo/video_out.c,找int vo_doublebuffering=1;修改为int vo_doublebuffering=0;保存退出;
  4. 返回上一层目录配置参数./configure --prefix=/usr/local/arm/madplay_arm/ --cc=arm-linux-gcc --ar=arm-linux-ar \ --ranlib=arm-linux-ranlib --disable-gui \ --target=arm-linux --host-cc=arm-linux-gcc --disable-freetype\ --enable-fbdev --disable-mencoder --disable-sdl --disable-live --disable-dvdread \ --disable-libdvdcss-internal --disable-x11 --enable-cross-compile --disable-mp3lib \ --enable-mad --with-extraincdir="/usr/local/arm/madplay_arm/include " --with-extralibdir="/usr/local/arm/madplay_arm/lib " \ --disable-dvdnav --disable-dvdread-internal --disable-jpeg --disable-tga \ --disable-dvbhead --disable-pnm --disable-tv --disable-ivtv \ --disable-fontconfig --disable-xanim --disable-win32dll --disable-armv5te --disable-armv6
  5. 编译:time make显示时间(时间较长);
  6. 安装:make install
    注:安装时会出现错误
    原因:install时默认使用的strip指令不正确,修改Makefile手动指定即可
    vi Makefile
    #找到原始的安装命令(858行)左右如下:
    $(INSTALL) -m 755 $(INSTALLSTRIP) $< KaTeX parse error: Expected 'EOF', got '#' at position 12: (BINDIR)** #̲修改为如下: **(INSTALL) -m 755 $(INSTALLSTRIP) --strip-program=arm-linux-strip $< $(BINDIR)
    #保存退出;
    #重新make install

2、会在/usr/local/arm/madplay_arm/bin/下生成mplayer可执行文件,把它移到开发板的/usr/bin 目录下,给mplayer权限chmod 777 mplayer

四、最终生成madplay和mplayer播发器如下图:

在这里插入图片描述

五、如果没有库,可到linux的madplay、mplayer的库及可执行文件资源下载

  • 7
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序小鹿

博主不差钱,点个赞就行哈哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值