|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
0 1 mplayer简介
& h0 N5 Z; L: @/ c mplayer是一款开源多媒体播放器,以gnu通用公共许可证发布。它资源占用率低,无论是音频还是视频方面,支持的格式相当全面,支持的输出设备也很多,可以在各种主流操作系统中使用。3 L! {& z. d; e: F3 ^8 H, u2 S
移植环境:Ubuntu12# k% _: g' I+ s9 T
开发板:迅为i.MX6Q(别的开发板也可以)0 U+ m7 p8 H- K) K( {/ m( U' b$ T0 h
编译器:ARM-none-linux-gnueabi-gcc(4.4.1)8 @6 C* x3 ]2 S) a+ w0 ]
准备库:libmad-0.15.1b、alsa-lib-1.0.22、MPlayer-1.0rc35 n/ E3 S9 p0 k/ P1 c. f
6 s8 U% \0 @4 g6 C9 f! j7 }# X; p0 2 交叉编译libmad8 h7 w% g7 \% g9 V1 B8 N' _
移植mplayer之前要先移植libmad库。libmad-0.15.1b的编译非常简单,我们直接在libmad这个文件目录下我们创建一个脚本,然后输入以下代码并执行这个脚本5 a* ]$ f9 u/ }# V& h
* b8 i$ G3 z# w4 ~7 r1 K
#!/bin/sh
% e; ^% Z, B9 u0 r) e) j./configure \
: I. R3 U L& J; C3 _--prefix=/usr/local/mplayerlibexit \
+ ~ Q; O1 f7 _1 s! ^--enable-fpm=arm \! p" O% C- U' ~- Z a
--host=arm-linux \
6 Y+ h+ w6 ^, P0 a* v2 `--disable-debugging \9 m, n1 H. [! k
--enable-shared \
9 s3 Y: K8 v, q1 _--enable-static \
; ~$ S% m* J4 E( w9 dCC=arm-none-linux-gnueabi-gcc5 W' |% ?0 r b
exit4 W0 ~3 V% |% F) \! ?
; p4 x% t7 f3 l" ~; P
执行脚本成功以后,我们打开Makefile,找到-fforce-mem,然后删除他,如下图所示:/ {3 ?' r) t& w( Z3 Q3 S
7 r F. A, W& Q/ f2 J' f% v& v
最后我们保存退出,直接make,make install就可以直接编译和安装了。安装成功如下图所示:; z3 b, S T4 K" E# Z8 C' r& g
6 A6 x7 F P# X8 j3 m5 v# @
# I* B1 M2 E0 g5 A6 }' r0 3 交叉编译alsa
0 T+ v7 v$ v, N 我们直接在alsa这个文件目录下我们创建一个脚本,然后输入以下代码并执行这个脚本:
- X& X1 l/ I4 }: D#!/bin/sh
" F9 y3 a! H1 ?/ G+ n./configure \0 ?) k: @& y A5 W/ m* Y9 [
--host=arm-linux \
. I8 x. G8 E. w, hCC=arm-none-linux-gnueabi-gcc \
6 A0 \( ~8 r: O* W; Q8 {: U--enable-shared \
4 K: J7 z# N6 I9 X$ S--disable-python \
- L/ H7 Y- _- x1 P--prefix=/usr/local/mplayerlib # @7 Y! }# ~4 L' E
exit7 t0 [7 g! c9 b7 w8 T% b
2 Y) n, b+ v: s$ I
配置完Makefile文件以后,然后依次使用make和make install就可以啦。
" s8 J1 D0 M* r; h$ @6 L* O0 4 交叉编译MPlayer2 r! \2 u% S d2 T$ p; n, f8 S
我们直接在MPlayer这个文件目录下我们创建一个脚本,然后输入以下代码并执行这个脚本:
) _/ V0 ^# ]0 N! d$ Y" ]0 O#!/bin/sh, ] F o* J& e& I# G
./configure \# O" ^( r, h4 L. m- S7 z
--prefix=/usr/local/Mplayer \
/ L' b6 Z. H, o: b) c/ x--disable-mencoder \
6 s" ]2 s" L" { H--disable-live \8 U5 ^% J' v1 e0 {* D2 i( s: o a
--disable-mp3lib \8 E, Z4 o: v% a3 w: D- C& O
--disable-win32dll \! R5 k; O% t. x6 e: c
--disable-dvb \
$ v H: G8 D+ X1 F2 D [--disable-dvdread \* x! K, [2 k$ }) W1 v
--disable-dvdnav \
, H( S; N5 E1 `) A6 |- X5 y--disable-dvdread-internal \
0 d/ H2 ~: r) ^ u$ f9 w- a--disable-tv \ S" ~ c7 m/ m- @% K ^
--disable-ivtv \
: Q8 t, u& j; m. H( D/ B& {* {7 Q--enable-fbdev \
; X0 o% V4 u: U$ h% o--disable-sdl \
+ b9 p' p; E# p8 B0 Y3 b2 `--cc=arm-none-linux-gnueabi-gcc \% X% ^ E/ V! W7 W* T1 d
--host-cc=gcc \
4 V# v. w) W; g, b! B, A. t6 S--target=arm-linux \
- \, Q ^9 f) p2 L) u! X--enable-mad \
* a$ D b- _: D9 v/ Q--enable-alsa \
1 x" O( r5 o* c7 C1 j--enable-cross-compile \9 Z }% g( N7 C) B
--enable-armv5te \
8 Q0 H7 v5 S" `# U' d! I--extra-cflags="-I/usr/local/mplayerlib/include -I/usr/local/mplayerlibexit/include" \
% k' ]/ ] |- p8 G# h! c, A--extra-ldflags="-L/usr/local/mplayerlib/lib -L/usr/local/mplayerlibexit/lib"
% q; ]8 E" h( Z8 r5 X- Qexit3 m# G& A5 H0 I! z$ ?* h5 }
4 `% q0 p+ q7 V7 S7 a
配置完Makefile之后,我们打开config.mak,找到里面的INSTALLSTRIP,删掉后面的-s,如下图所示:* u" n5 s9 M' n
! R. P5 K! S# [) \
修改完成以后,依次使用make和make install就可以啦。编译成功如下图所示:
2 v l. V3 o% T! W
2 D/ h8 N: ?; H8 `/ v然后我们在bin文件夹下就可以看到我们想要的播放器啦。' t5 i s2 Z6 e( l8 s" ?
& }, @6 w, c/ O; M
# H6 X W1 r: g
测试
S- S" B! f3 W4 d2 J' M- f- c将编译生成的mplayer和测试文件test.mp4和miss.mp3拷贝到开发板,启动开发板,连接耳机。# p X7 d+ p9 Y" ^# z
使用以下命令测试播放音频。; S8 j) i7 M- t! n0 B+ h
./mplayer /root/Documents/miss.mp34 V& z( k3 H9 K6 h
使用以下命令测试播放视频,测试视频的时候要连接显示屏。
6 Z2 K( e& V: u2 }; f./mplayer -fs -zoom -x 480 -y 272 test.mp4
" A4 s- Y4 _( f& |, h. K如下图所示:
8 w% D6 z' V) j6 a Z- N6 a/ z0 t
* R; P8 ^ c+ \- ~# c5 F2 m# V' n' s
好物推荐-IMX6Q开发板
8 ^" U: i* r7 a* Q5 j迅为IMX6Q板卡有工业级和商业级俩种版本,连接类型有邮票孔和连接器俩种。并且在轨道交通,电器设备,控制工业,车载电脑等领域均有批量应用,均高稳定呈现。提供终身技术支持,超长生命周期,产品无忧~
* P% w( a7 w+ `9 M
' p# S; a- z% \$ b
+ A* c- F9 [( f$ k4 r7 F7 b; g! y! J/ }0 p
|
|