linux-2.26 移植mplayer 功能

mplayer介绍:  

  mplayer 是一个linux下的视频播放器,它支持相当多的媒体格式,无论在音频播放还是在视频播放方面,可以说它支持的格式是相当全面的。视频格式支持:mpeg、avi、asf、wmv、QuickTime、OGG/OGM、sdp、pva、gif。音频格式支持:mp3、wav、OGG/OGM 文件(Vorbis)、wma 与 asf、mp4、cd音频、xmms

一、移植环境:

  交叉编译 PC环境:Deepin-Linux

  交叉编译工具:arm-fsl-linux-gnueabi-gcc

  目标板环境:周立功 i.max287A 开发版

二、mplayer源码下载:http://www.mplayerhq.hu/MPlayer/releases/

  链接:https://pan.baidu.com/s/1jorUzUoMiGHwaLy7WZELFA
  提取码:fx4f

   

 三、制作编译时需要的头文件和库

1. 把 libmad-0.15.1b.tar.gz 文件拷贝到PC端linux系统,执行解压缩命令 " tar -xzvf libmad-0.15.1b.tar.gz -C ." 解压到当前目录

  2. 进入 libmad-0.15.1b 目录 cd libmad-0.15.1b

   3. 新建一个目录,用来存放编译生成的信息 mkdir build 

  3. 配置编译链和编译信息:./configure --enable-fpm=arm --host=arm-fsl-linux-gnueabi --disable-shared --disable-debugging --prefix=/home/yx/imx287/mplayer/mplayer_bulid/ CC=arm-fsl-linux-gnueabi-gcc

     “--host=”"CC=" 后边替换成目标板所需要的编译链;把“--prefix=”后边的信息换成刚才新建的文件夹目录

  4. 配置完成后,编译,编译时会报错,把libmad-0.15.1b 文件下的 Makefile 文件的第129行的 “--fforce-mem” 去掉后,重新编译就行。

  5. 编译完成后,执行 make install 生成相应的头文件和库文件, 下边是制作好的目录

    

 四、编译mplayer源码

  1. 把 MPlayer-1.0rc2.tar.bz2  文件拷贝到PC端linux系统,执行解压缩命令tar -xzvf MPlayer-1.0rc2.tar.bz2  -C ." 解压到当前目录,cd MPlayer-1.0rc2.tar.bz2 进入这个解压开的目录

  2. 配置编译链和编译信息:./configure --prefix=/home/yx/imx287/mplayer/mplayer_bulid --cc=arm-fsl-linux-gnueabi-gcc --disable-gui --target=arm-linux --host-cc=gcc --disable-freetype --enable-fbdev --disable-mencoder --disable-sdl --disable-live --disable-dvdread --disable-libdvdcss-internal --disable-x11 --enable-cross-compile --disable-dvdnav --disable-dvdread-internal --disable-jpeg --disable-tga --disable-pnm --disable-tv --disable-ivtv --disable-fontconfig --disable-xanim --disable-win32dll --disable-armv5te --disable-armv6 --enable-static

    “--prefix=” 设置成 刚才创建的目录路径   “--cc=” 设置成目标板需要的编译链

  3. 编译,make -j4  (使用4条线程编译)编译时间有点长

  4. 编译完成后,会在 MPlayer-1.0rc2.tar.bz2 目录下生成可执行文件 mplayer

五、移植到开发版

  移植比较简单直接把生成的可执行文件 mplayer 拷贝到开发版的 /bin 下就行,使用 “chmod +x mplayer” 修改好这个文件的可执行权限

六、mplayer 命令测试

  1. mplayer test.mp4 播放test.mp4视频

  结果报错:[AO OSS] audio_setup: Can‘t open audio device /dev/dsp: No such file or directory” ,网上查了一下,需要配置内核添加 OSS PCM (digital audio) API模块,

  2. make muenconfig 进入linux内核配置,打开界面后:

    进入 Deivce Drivers——>Sound card support ——>Advanced Linux Sound Architecture 选中 OSS PCM(digital audiop) API 和 OSS PCM (Digital audio) API -- Include plugin system 保存退出

    

  3. 重新编译内核,下载到开发版,这样就没问题了

原文地址:https://www.cnblogs.com/emlsyx/p/12329314.html

时间: 2024-11-07 14:04:50

linux-2.26 移植mplayer 功能的相关文章

arm上移植mplayer

关于mplayer移植网上资料很多,但都很混乱.在此,我做了一个关于mplayer 的详细总结.在做之前最好在解压源码包后,先通过./configure --help看一下相关配置. X86的LINUX上已经自带了解码库,不需要另外安装解码库,而arm平台自己做的文件系统没有解码库,需要另外安装解码库. 下载MPlayer:MPlayer-1.0rc2.tar.bz2        解码库:libmad-0.15.0b.tar.gz 一.在x86的LINUX上安装mplayer 1 #./con

linux2.6.26移植

宿主机: Ubuntu13.10 gcc-4.3.1 目标机:s3c2440 交叉编译器:arm-linux-gcc-4.3.2 要移植的内核版本:linux-2.6.26 文件系统: yaffs2 准备知识: Linux支持多种平台架构.在其源码的arch目录下,已经将各种支持的平台架构的源码分门别类.为了配置方便,在各种平台架构的目录下,一般都配有一个名为configs的目录.其中,放置着许多已经初步配置好的xxx_defconfig文件.通过这些xxx_defconfig文件,可以加快我们

Linux开源模块移植概述暨交叉编译跨平台移植总结--摘自《嵌入式Linux驱动模板精讲与项目实践》

本文摘自<嵌入式Linux驱动模板精讲与项目实践>一书中的"开发与调试技巧". Linux的强大威力就在于有很多开源项目可以使用,通常很多需求可以通过寻找相关的开源模块做为快速解决方案.要把这些开源模块应用到嵌入式中,其中一个关键点就是要使用交叉编译工具对开源项目进行交叉编译. 根据具体情况,下载的开源项目在组织上有很多情况,在此对各种情况进行归类介绍. 1. 下载的开源软件包找不到Makefile 对于这种开源包通常是采用configure的方式组织的,那么第一步就是使用

向嵌入式linux开发板移植openSSH

向嵌入式linux开发板移植openSSH 晚上没事干,想着能不能把高大上的openSSH移植到我现在开发的嵌入式linux开发板上,前不久刚弄出来dropbear,但遇到一些小问题,一会说,所以把openSSH搞上去还是可以的.开发板端为服务器端,由宿主机客户端访问. 2016-8-16 背景 开发板:freescale i.mx6q 宿主机操作系统:ubuntu 14.04 开发板操作系统:linux 3.0.35 基本情况 使用dropbear后,ssh算是在板子上成功跑起来了,参见我另一

嵌入式linux开发uboot移植(三)——uboot启动过程源码分析

嵌入式linux开发uboot移植(三)--uboot启动过程源码分析 一.uboot启动流程简介 与大多数BootLoader一样,uboot的启动过程分为BL1和BL2两个阶段.BL1阶段通常是开发板的配置等设备初始化代码,需要依赖依赖于SoC体系结构,通常用汇编语言来实现:BL2阶段主要是对外部设备如网卡.Flash等的初始化以及uboot命令集等的自身实现,通常用C语言来实现. 1.BL1阶段 uboot的BL1阶段代码通常放在start.s文件中,用汇编语言实现,其主要代码功能如下:

嵌入式 Linux开发Kernel移植(二)——kernel内核配置和编译

嵌入式 Linux开发Kernel移植(二)--kernel内核配置和编译 本文选择linux 2.6.35.7版本kernel进行实践. 一.linux kernel源码目录分析 Kbuild,Kernel Build,管理内核编译的文件 Makefile,kernel工程的Makefile. arch,体系架构,arch目录下的子目录存放的是不同种类的架构 block,块设备,一般是存储设备,存放的块设备管理的相关代码 crypto,加密相关,存放加密算法实现代码 Documentation

嵌入式 Linux根文件系统移植(二)——根文件系统简介

嵌入式 Linux根文件系统移植(二)--根文件系统简介 根文件系统是内核启动时挂载的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行. 一.嵌入式设备文件系统 在嵌入式Linux应用中,主要的存储设备为 RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tm

嵌入式 Linux开发Kernel移植(三)——Kernel工程Makefile分析

嵌入式 Linux开发Kernel移植(三)--Kernel工程Makefile分析 本文选择三星发布的基于SMDKV210开发板的linux 2.6.35.7版本kernel. 一.Kernel Makefle体系简介 1.Kernel Makefile体系组成 Kernel Makefile体系包含Kconfig和Kbuild两个系统. Kconfig系统 Kconfig 对应的是内核配置阶段,make xxconfig就是在使用Kconfig系统.Kconfig由三部分组成: script

嵌入式linux开发uboot移植(二)——uboot工程源码目录分析

嵌入式linux开发uboot移植(二)--uboot工程源码目录分析 本文分析的uboot为uboot_smdkv210,是三星官方发布的基于S5PV210评估开发板对应的uboot. 一.uboot源码目录结构解析 1.cpu 本文件夹下的子文件与处理器相关,每个文件夹代表一种CPU系列.每个子目录中都包括cpu.c.interrupts.c.start.S文件. cpu.c主要用于初始化CPU.设置指令Cache和数据Cache等 interrupt.c主要用于设置系统的各种中断和异常 s