|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 1 mplayer简介
2 m) V* C, A/ Y! ]. P( s mplayer是一款开源多媒体播放器,以gnu通用公共许可证发布。它资源占用率低,无论是音频还是视频方面,支持的格式相当全面,支持的输出设备也很多,可以在各种主流操作系统中使用。
8 J7 y" J* Q( `7 A移植环境:Ubuntu12
& z' e# U9 ?2 y' r4 W, v, \9 u9 q开发板:迅为i.MX6Q(别的开发板也可以)$ ], m0 q/ U8 X9 y
编译器:ARM-none-linux-gnueabi-gcc(4.4.1)$ ^' p" x8 X% {; j
准备库:libmad-0.15.1b、alsa-lib-1.0.22、MPlayer-1.0rc3
! R" S! t+ z+ f3 P( M* c! t: S6 u1 [6 X% t7 d0 n3 g0 F
0 2 交叉编译libmad
, g ]8 ?1 X T' v' } 移植mplayer之前要先移植libmad库。libmad-0.15.1b的编译非常简单,我们直接在libmad这个文件目录下我们创建一个脚本,然后输入以下代码并执行这个脚本 F. R, M9 t+ J7 E4 i' `
* u& D5 U" K, P. V. V
#!/bin/sh( G; U# Z; }# L
./configure \
$ b: y. R" h" f. c--prefix=/usr/local/mplayerlibexit \
: ^" \1 [8 H5 C--enable-fpm=arm \, A2 D M# G2 M8 O! u% C: G
--host=arm-linux \
* T" K. G1 k% k3 O/ F--disable-debugging \: Q' y( G$ z! C0 T' }
--enable-shared \! P$ ~5 Y5 `' a6 `7 m3 l" }( n
--enable-static \" \1 S& S" {* R- e+ F
CC=arm-none-linux-gnueabi-gcc1 A( H) n& Q: q: n* D0 F
exit# m8 U8 j* L7 O( n6 E# R% T( o
4 C, a. _ D! H5 }. v2 l执行脚本成功以后,我们打开Makefile,找到-fforce-mem,然后删除他,如下图所示:
: v: f* c( }7 f( H5 P1 [! X% O
6 w* A! c5 G. N& F3 ?. y
最后我们保存退出,直接make,make install就可以直接编译和安装了。安装成功如下图所示:* l/ q2 r4 H$ B# _7 a% S [ w! |
x1 C! @: i6 B' l
/ |+ s( ^# l" t* w0 3 交叉编译alsa$ I/ ]; W% s. C# D* h' n
我们直接在alsa这个文件目录下我们创建一个脚本,然后输入以下代码并执行这个脚本:
! ~1 l, T$ m; f2 n B$ n7 q#!/bin/sh% ]0 Z" ~! h4 C, n. z6 p+ K' v
./configure \
( |- P: j. C/ W2 r--host=arm-linux \2 Q0 t7 h+ K* X, K
CC=arm-none-linux-gnueabi-gcc \2 v- K# F5 F9 V, p o6 o
--enable-shared \
7 k( H! w5 J4 M ]% i( P; w9 q--disable-python \3 a9 b2 }3 Q" @6 l; P
--prefix=/usr/local/mplayerlib ; G- Z" M4 j( [4 M' f
exit7 I' j( [) Y- c8 g* f' l: w" f+ I
/ T w3 y0 n$ v配置完Makefile文件以后,然后依次使用make和make install就可以啦。
& h& B, S, V' q9 X$ S7 \1 F; P: v, w4 \0 4 交叉编译MPlayer
) o( v B- z0 n+ R2 M 我们直接在MPlayer这个文件目录下我们创建一个脚本,然后输入以下代码并执行这个脚本:
Q6 W( k' V. M" b2 s. |, _+ t J#!/bin/sh! g- {- M8 d* t+ n8 R: o/ b
./configure \
1 Y* J) {2 C5 R f# ^$ Y, I+ |--prefix=/usr/local/Mplayer \
( }9 n* W; ~) x--disable-mencoder \
: F) N& B, l2 O! h- x--disable-live \
" k" o" \1 F/ }; c3 }--disable-mp3lib \
* }& K+ ]4 M4 B0 @" e7 ] G9 _--disable-win32dll \
5 f' @. v2 M: T. c8 M--disable-dvb \
5 f1 u4 ]# c1 |8 w--disable-dvdread \* ]3 P! c0 y( D! _' K
--disable-dvdnav \8 y. a1 a6 s7 y( i2 ?1 ^ [; J
--disable-dvdread-internal \
J+ J2 F0 x4 a$ M- j ^9 e) K--disable-tv \8 g9 q7 n% ~' f4 {1 c$ Z8 v2 M
--disable-ivtv \) i* U! \4 }8 s! w+ H9 V8 L
--enable-fbdev \
" v/ y5 {4 T4 y. m- Y9 P6 O/ t--disable-sdl \1 M0 l; {! E5 g9 _1 J
--cc=arm-none-linux-gnueabi-gcc \
2 q3 {6 N3 d! {: s9 `--host-cc=gcc \2 ]' _4 @) }# P/ c3 w* ?
--target=arm-linux \- H% h$ l9 w1 u/ W2 {* u
--enable-mad \+ M1 b8 g1 |, g: Q: J; [9 j
--enable-alsa \$ G; ~! {- ]' [" m% p. J' G/ u8 z
--enable-cross-compile \
7 Z6 b% a) z7 @--enable-armv5te \4 h3 m! V! g/ Y) i W! T! z
--extra-cflags="-I/usr/local/mplayerlib/include -I/usr/local/mplayerlibexit/include" \
9 M( M1 Q4 ^# B' Y3 c--extra-ldflags="-L/usr/local/mplayerlib/lib -L/usr/local/mplayerlibexit/lib"
' |( z* L- p2 O. J4 hexit
8 l' {" R! \, U, d7 q0 o) a+ |( z/ t T# Y) s
配置完Makefile之后,我们打开config.mak,找到里面的INSTALLSTRIP,删掉后面的-s,如下图所示:4 p# K S; f& [" g% U; Z
% y( Q k) p$ `7 O7 {- Q3 l _( F修改完成以后,依次使用make和make install就可以啦。编译成功如下图所示:& I5 d' Y# u. ]+ X) x* ^# U
$ j @0 ]& z0 o+ Q6 M8 s然后我们在bin文件夹下就可以看到我们想要的播放器啦。( q7 s) Y; x; h5 \8 k( k& E
. G# c* {5 C5 k0 A8 t( L/ r7 D9 M6 R
+ `. b+ ~# E. P# |8 K0 k2 ~
测试 z4 W0 d# P' ]& p1 L
将编译生成的mplayer和测试文件test.mp4和miss.mp3拷贝到开发板,启动开发板,连接耳机。9 j( J8 Y( ]9 @ \: T# l" j
使用以下命令测试播放音频。$ M- Z# }" t' g3 a
./mplayer /root/Documents/miss.mp3( _' v) ] B. S9 C$ N
使用以下命令测试播放视频,测试视频的时候要连接显示屏。1 p1 W' a8 ~9 M, _( z
./mplayer -fs -zoom -x 480 -y 272 test.mp4
2 w' ?4 j3 X& M3 K/ s3 ~如下图所示:1 Y7 W+ u! p ~7 _7 f* c1 @1 f
# }7 F& x# H9 x" g+ d6 L: M6 e
好物推荐-IMX6Q开发板
+ \/ ` c+ q4 [# \0 m迅为IMX6Q板卡有工业级和商业级俩种版本,连接类型有邮票孔和连接器俩种。并且在轨道交通,电器设备,控制工业,车载电脑等领域均有批量应用,均高稳定呈现。提供终身技术支持,超长生命周期,产品无忧~
3 `7 I5 }% D* `, H: }
# w: G# p5 H# S! L
3 E9 W5 W( y0 y0 T7 |7 {/ X! r% X& V( E6 }9 ^$ N- S
|
|