IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

Hi,歡迎來到嵌入式培訓(xùn)高端品牌 - 華清遠(yuǎn)見教育科技集團(tuán)<北京總部官網(wǎng)>,專注嵌入式工程師培養(yǎng)15年!
當(dāng)前位置: > 華清遠(yuǎn)見教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > Mplayer 移植
Mplayer 移植
時間:2017-01-05作者:華清遠(yuǎn)見

關(guān)于mplayer移植網(wǎng)上資料很多,但都很混亂。在此,我做了一個關(guān)于mplayer 的詳細(xì)總結(jié)。在做之前好在解壓源碼包后,先通過./configure --help看一下相關(guān)配置。

X86的LINUX上已經(jīng)自帶了解碼庫,不需要另外安裝解碼庫,而arm平臺自己做的文件系統(tǒng)沒有解碼庫,需要另外安裝解碼庫。

下載MPlayer:MPlayer-1.0rc2.tar.bz2
        解碼庫:libmad-0.15.0b.tar.gz

一、在x86的LINUX上安裝mplayer

1 #./configure (./configure    --enable-gui    –-enable-live    –-language=zh )
        2 #make
        3 #make install

此時在MPlayer-1.0rc2目錄下會生成可執(zhí)行文件mplayer.
        把它拷貝到/bin/目錄下。要執(zhí)行時:
        #/bin/mpalyer /路徑/要播放的媒體文件名;
        #/bin/mplayer a.mp3

二、移植mplayer到arm平臺的LINUX上(使用4.3.2編譯器)

1 配置安裝libmad

(如果不先配置安裝libmad,則在make mplayer時出現(xiàn)找不到mad.h 錯誤)
        echo PATH=/usr/local/arm/3.3.2/bin:$PATH

(1)#./configure --enable-fpm=arm --host=arm-none-linux-gnueabi --disable-shared --disable-debugging        --prefix=/usr/local/arm/3.3.2/lib CC=arm-none-linux-gnueabi-gcc

參數(shù)解析:
        --enable-fpm=arm 
        --host=arm-none-linux-gnueabi
        --disable-shared 
        --disable-debugging 
        --prefix=/home/linux/libmad(make install 安裝路徑)
        CC=arm-none-linux-gnueabi-gcc(4.3.2的交叉編譯工具鏈)

(2)#make

注意如果出現(xiàn)error:unrecognized command line option "-fforce-mem"錯誤,需要修改makefile,去掉--fforce-mem標(biāo)志(因?yàn)閍rm-eabi編譯器都不支持這個選項(xiàng))

(3)#make install

此時會在/home/linux目錄下生成include目錄和lib目錄。
        其中l(wèi)iclude目錄下有文件 mad.h
        lib 目錄有文件 libmad.a libmad.la

2 配置安裝mplayer

(1)#./configure    --host-cc=gcc    --cc=arm-none-linux-gnueabi-gcc    --target=arm-linux    --enable-static    --enable-ossaudio    --prefix=/tmp/mplayer-rc2     --disable-win32dll    --disable-dvdread    --enable-fbdev    --disable-mencoder    --disable-live --disable-mp3lib --enable-mad --enable-libavcodec_a    --disable-armv5te    --disable-armv6    --disable-dvdnav    --disable-dvdread    --disable-dvdread-internal        with-extraincdir=/usr/local/arm/3.3.2/lib/include        --with-extralibdir=/usr/local/arm/3.3.2/lib/lib

參數(shù)解析:
        --host-cc=gcc         # C compiler for tools needed while building [gcc]
        --cc=arm-none-linux-gnueabi-gcc        #C compiler to build MPlayer [gcc]
        --target=arm-linux        #target platform (i386-linux, arm-linux, etc)
        --enable-static        #build a statically linked binary
        --enable-ossaudio        #enable OSS audio output [autodetect]
        --prefix=/tmp/mplayer-rc2        #prefix directory for installation [/usr/local]
        --disable-win32dll         # disable Win32 DLL support [enabled]
        --disable-dvdread        #disable libdvdread [autodetect]
        --enable-fbdev        #enable FBDev video output [autodetect]
        --disable-mencoder        #disable MEncoder (A/V encoder) compilation [enable] 使能編碼器編輯
        --disable-live        #disable LIVE555 Streaming Media [autodetect] 讓Mpalyer不支持流媒體協(xié)議
        --disable-mp3lib        # disable builtin mp3lib [enabled]
        --enable-mad        #disable libmad (MPEG audio) support [autodetect]
        --enable-libavcodec_a        #disable static libavcodec [autodetect]
        --disable-armv5te        #disable DSP extensions (ARM) [autodetect]
        --disable-armv6        #disable ARMv6 (ARM) [autodetect]
        --with-extraincdir=/usr/local/arm/3.3.2/lib/include        #指明mad.h文件所在路徑
        --with-extralibdir=/usr/local/arm/3.3.2/lib/lib        #指明limad相關(guān)鏈接庫所在路徑

(2)#make

其中可能會遇到如下問題:

1.Error:motion_comp_arm_s.S

在libmpeg2/motion_comp_arm_s.S文件的前面加上如下的內(nèi)容:

#ifndef HAVE_PLD
        .macro pld reg
        .endm
        #endif

2.vo_ivtv.c:79: error: storage size of ’sd’ isn’t known

vo_ivtv.c:80: error: storage size of ’sd1′ isn’t known

添加--disable-ivtv

3. undefined reference to `video_out_ivtv'

在文件 file libvo/video_out.c, 找到
        #ifdef HAVE_DXR2
        extern vo_functions_t video_out_dxr2;
        #endif
        extern vo_functions_t video_out_dxr3; 
        #ifdef HAVE_IVTV
        extern vo_functions_t video_out_ivtv;
        #endif 
        edit it like this:
        #ifdef HAVE_DXR2
        extern vo_functions_t video_out_dxr2;
        #endif
        #ifdef HAVE_DXR3    //這一句是要添加的
        extern vo_functions_t video_out_dxr3; 
        #endif    //這句是要添加的
        #ifdef HAVE_IVTV
        extern vo_functions_t video_out_ivtv;
        #endif

使用arm-linux-gcc 3.3.2編譯mplayer可能會出現(xiàn)in.h頭文件錯誤如下:

/usr/local/arm/3.3.2/include/netinet/in.h:259: parse error before '(' token
        /usr/local/arm/3.3.2/include/netinet/in.h:259: parse error before "__u32"
        /usr/local/arm/3.3.2/include/netinet/in.h:260: parse error before '(' token
        /usr/local/arm/3.3.2/include/netinet/in.h:260: parse error before "__u16"
        /usr/local/arm/3.3.2/include/netinet/in.h:262: parse error before '(' token
        /usr/local/arm/3.3.2/include/netinet/in.h:262: parse error before "__u32"

需要修改一下/usr/local/arm/3.3.2/include/netinet/in.h中,在 __BEGIN_DECLS 后面增加下述文字

#undef ntohl
        #undef ntohs
        #undef htonl
        #undef htons

(3) make install(出現(xiàn)提示不認(rèn)識的文件。因?yàn)槭茿RM平臺運(yùn)行的文件,所有不認(rèn)識)

install -m 755 -s mplayer /tmp/mplayer-rc2/bin
        strip: Unable to recognise the format of the input file `/tmp/mplayer-rc2/bin/mplayer'
        此時在MPlayer-1.0rc2目錄下會生成可執(zhí)行文件mplayer.
        把它拷貝到/bin/目錄下。

要執(zhí)行時:

#/bin/mpalyer /路徑/要播放的媒體文件名;
        #/bin/mplayer -ac mad a.mp3

三、MPlayer slave命令

在命令中添加 -slave 和 -quiet就可以通過命令設(shè)置Mplayer實(shí)現(xiàn)相應(yīng)的功能。在mplayer源碼中的,/DOCS/tech/slave.txt中對這些命令有詳細(xì)的解析。

Mplayer相關(guān)文章:

Qt編寫Mplayer前端程序

發(fā)表評論
評論列表(網(wǎng)友評論僅供網(wǎng)友表達(dá)個人看法,并不表明本站同意其觀點(diǎn)或證實(shí)其描述)
主站蜘蛛池模板: 火绒杀毒软件|火绒安全企业版_西南|四川|重庆|贵州|云南|西藏|成都火绒服务中心_成都火影科技有限公司-火绒安全|成都火影科技|火绒 | 玉米脱皮制糁机-玉米深加工机械价格-玉米糁加工机器设备-玉米渣加工成套设备-河南粮院 | 呼吸家官网|肺功能检测仪生产厂家|国产肺功能仪知名品牌|肺功能检测仪|肺功能测试仪|婴幼儿肺功能仪|弥散残气肺功能仪|肺功能测试系统|广州红象医疗科技有限公司|便携式肺功能仪|大肺功能仪|呼吸康复一体机|儿童肺功能仪|肺活量计|医用简易肺功能仪|呼吸康复系统|肺功能仪|弥散肺功能仪(大肺)|便携式肺功能检测仪|肺康复|呼吸肌力测定肺功能仪|肺功能测定仪|呼吸神经肌肉刺激仪|便携式肺功能 | 绝缘纸板-3240环氧板-酚醛布板-FR4环氧板-沈阳友达绝缘材料有限公司 | 医用空气净化消毒机,医用床单位消毒机,无磁空气消毒机,紫外线空气消毒机厂家-南昌市扬帆环保设备有限公司 | 厦门海为科技有限公司 - 工业物联网|国产PLC|HMI|SCADA | 重庆吊篮租赁-重庆脚手架租赁-重庆斌盛机械设备租赁有限公司 | 实验室装修设计-实验室工程建设-实验室实验台通风柜-瑞斯达实验室系统设备(苏州)有限公司 | 无锡亮鑫不锈钢有限公司-不锈钢炉胆,马弗炉胆,耐高温炉胆,310s炉胆,网带炉 | 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 | 莱湾科技-智能会议室|多功能|多媒体|音视频|无纸化|远程视频会议室运维 | 首页|YULI玉立专业厨房电器官网|集成灶十大品牌 油烟机 燃气灶 | 水处理设备厂家_纯净水设备_超纯水设备价格找西安瑞泉水处理 | 生态护坡砖_护坡砖_合肥植草砖-巢湖市华林新型建材有限公司 | 四川迪瑞机电设备有限公司-容积式换热器|半容积式换热器|容积式换热机组|半容积式水加热器|换热器在线除垢防垢器|迪瑞机电 | 频谱矢量网络分析仪_鼎阳数字示波器-苏州东伟元电子有限公司 | 卷帘门,防火卷帘,快速门,硬质快速门,提升门,伸缩门,堆积门,车库门维修-烟台捷曼门业有限公司 | 五金冲压厂家_五金冲压件加工_微细孔加工-深圳市浩鑫精密五金制品有限公司 | 河南车用尿素设备_郑州车用尿素设备_河南江宇环保车用尿素液厂家 | 拍照机,地铁自助拍证件照机器,校园自助打印机,智能自助复印机 | 青山套筒_直螺纹钢筋连接套筒加工_全灌浆套筒灌浆料_半灌浆套筒生产-衡水安达机械设备有限公司 | 无尘车间_净化工程_GMP食品药品化妆品电子厂无尘净化车间_无尘室 | 石家庄华龙鼎电动门,石家庄电动门电话,石家庄电动门配件,石家庄电动门维修电话,石家庄电动门安装电话,石家庄华龙电动门 | 狠狠穞A片一區二區三區-免费网站在线观看人数更新时间-欧洲尺码日本尺码专线不卡顿,国产大尺度禁片未删减版,baomaav | 苏州探测器清洗_烟感探头清洗_感烟探测器维修清洗_火灾探测器清洗报价/价格_进口国产消防设备清洗_江苏智淼探测器清洗厂家- | 陶瓷-超高速胶体磨-高剪切胶体磨厂家价格-上海思峻机械设备有限公司 | 联系我们果博东方公司福布斯客服电话 | 文君阁-提供生活百科,日常生活健康小常识,生活小窍门,百科知识大全 | 塑木地板,塑木栏杆,塑木地板价格,塑木地板厂家—浙江尚元塑木制品有限公司 | 合金锤头_破碎机锤头_耐磨锤头_巩义市东辰实业有限公司 | 履带式移动破碎站-移动筛分站-移动碎石机-破碎机_山东奥凯诺矿机 | 久久91精品久久91综合_国产亚洲自拍一区_国产精品第1页_亚洲高清视频一区_91成人午夜在线精品_亚洲国产精品网站在线播放_亚洲国产成人久久综合区_国产精品亚洲专区在线观看_免费视频精品一区二区三区 | 内蒙古国际门窗幕墙展览会| 南宁清洁公司|外墙清洗|开荒清洁|洒水车|管道疏通|园林绿化_广西优而美环境工程有限公司 | 企业头条—优府网企业自媒体| 全自动码垛机|码垛机器人|高位码垛机械手|拆垛机|缠绕机|山东腾阳智能装备有限公司 | 模温机_厂家_现货供应-卡塞尔机械(浙江)有限公司 | 小麦硬度指数仪-石灰活性测定仪-智能型砂强度仪-北京同德创业科技有限公司 | 节能设备|余热回收|蒸汽压缩机|脱硝-河北耀一节能设备制造有限责任公司 | 酒博会丨京酒展丨北京国际酒业博览会 | 烘干机|烘干房|网带烘干机|滚筒烘干机|炒货机-河南曼瑞通机械有限公司 |