概述
文章目录
- 一、前言
- 二、移植 zlib 库
- 三、移植 mplayer
- 四、 mplayer使用
- 1. mplayer 播放音频
- 2. mplayer 播放视频
一、前言
mplayer播放器非常好用,奈何buildroot2019这个版本没有(好像2018.2之后就都没有,升级为mpv了好像,但是这个mpv不会用),这里就自行编译(虽然麻烦一点,但是还是得用啊)
二、移植 zlib 库
mplayer 用到了 zlib 库,因此要先移植 zlib 库。zlib 源码下载地址为:http://zlib.net/
下载压缩包拷贝到ubuntu下并解压
tar -vxzf zlib-1.2.11.tar.gz //解压
解压完成以后得到一个名为“zlib-1.2.11”的 zlib 源码文件。另外新建一个名为“zlib”的文件夹来保存 zlib 的编译结果。进入 zlib 源码目录,然后配置并编译,命令如下
cd zlib-1.2.11/ //进去 zlib 源码
CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld AD=arm-linux-gnueabihf-as ./configure --prefix=/home/luatao/linux/tool/zlib
make
make install
执行完毕之后在zlib文件夹下
将图中的lib目录下的zlib库文件拷贝到开发板根文件系统的/lib目录下,命令为:
sudo cp lib/* /home/luatao/linux/nfs/rootfs/lib/ -rfa
三、移植 mplayer
mplayer 需要用到 alsa-lib 和 zlib,因此要先保证这两个已经交叉编译了。
解压
tar -vxzf MPlayer-1.4.tar.gz //解压
解压完成以后得到一个名为“MPlayer-1.4”的 mplayer 源码文件。另外新建一个名为“mplayer”的文件夹来保存 mplayer 的编译结果。进入 mplayer 源码目录,然后配置并编译,命令如下:
cd MPlayer-1.4/ //进去 mplayer 源码
./configure --cc=arm-linux-gnueabihf-gcc --host-cc=gcc --target=arm-linux-gnueabihf --disable-ossaudio --enable-alsa --prefix=/home/luatao/linux/tool/mplayer --extra-cflags="-I/home/luatao/linux/tool/zlib/include -I/home/luatao/linux/tool/alsa-lib/include" --extra-ldflags="-L/home/luatao/linux/tool/zlib/lib -Iz -L/home/luatao/linux/tool/alsa-lib/lib -lasound" --enable-fbdev --disable-mencoder
make
–extra-cflags 指定 zlib 和 alsa-lib 的头文件路径,–extra-ldflags 指定 zlib 和 alsa-lib 的库文件路径。
执行make需要等待一段时间 11:20-11:30 大概十分钟
编译完成以后打开 config.mak 文件,找到“INSTALLSTRIP = -s”这一行,取消掉后面的“-s”,否则“make install”命令会失败!结果如图 所示:
修改完成以后使用“sudo make install”安装,
安装完成以后 mplayer 目录内容如图所示
图中的 bin 目录下有一个叫做“mplayer”的可执行文件,这就是我们需要的 mplayer播放器!将其拷贝到开发板根文件系统的/bin 目录下,命令为:
sudo cp bin/mplayer /home/luatao/linux/nfs/rootfs/bin/ -f
至此,mplayer 移植就已经完成了,接下来就是使用 mplayer 播放音视频。
四、 mplayer使用
1. mplayer 播放音频
输入“mplayer -h”即可查看帮助信息。
mplayer 播放歌曲很简单,不限歌曲格式,“mplayer+歌曲名”即可,比如:
播放MP3格式的
因为内核没有设置中文,可能有乱码,但是功能不影响。
播放过程中我们可以通过键盘控制播放器,常用的控制方法如下:
9 :减小音量。
0:增大音量。
左键:倒退 10 秒
右键:快进 10 秒
上键:快进 1 分钟
下键:倒退 1 分钟
空格:暂停和播放
如果 mplayer 音量已经调到最大了,但是耳机音量依旧很小的话请使用 amixer 调大声卡最大音量。
2. mplayer 播放视频
视频播放的方法和音频一样, “mplayer+视频名”即可,但是这样的话视频不是居中播放的,我们可以加入“-fs”参数让视频居中播放。
输入如下命令播放视频:
mplayer Badapple.mp4 -fs //居中播放视频
# ls
Badapple.mp4 liudehua.wav nuannuan.mp3 pic.jpg tmp.wav
digitalclock meian.mp3 nvfuma.mp3 record.wav
# mplayer Badapple.mp4 -fs
MPlayer 1.4-6.3.1 (C) 2000-2019 MPlayer Team
Playing Badapple.mp4.
libavformat version 58.27.102 (internal)
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xb9c7b0]Protocol name not provided, cannot determine if input is local or a network protocol, buffers and access patterns cannot be configured optimally without knowing the protocol
[lavf] stream 0: audio (aac), -aid 0, -alang eng
[lavf] stream 1: video (h264), -vid 0
VIDEO: [H264] 320x240 24bpp 29.970 fps 619.6 kbps (75.6 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.51.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
Clip info:
major_brand: mp42
minor_version: 19529854
compatible_brands: mp42isom
creation_time: 2021-05-29T17:19:43.000000Z
Load subtitles in ./
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, floatle, 128.0 kbit/4.17% (ratio: 16002->384000)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [alsa] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
[swscaler @ 0xdf4290]bicubic scaler, from yuv420p to bgra using C
[swscaler @ 0xdf4290]No accelerated colorspace conversion found from yuv420p to bgra.
[swscaler @ 0xdf4290]using unscaled yuv420p -> bgra special converter
VO: [fbdev] 320x240 => 320x240 BGRA [fs]
framebuffer too small for double-buffering, disabling
A: 1.5 V: 1.5 A-V: -0.000 ct: -0.000 0/ 0 10% 7% 4.0% 0 0
播放效果
还是很流畅的,不知道播放高分辨率的怎么样。
到此就完成了mplayer的移植。
最后
以上就是潇洒薯片为你收集整理的v3S移植mplayer播放器一、前言二、移植 zlib 库三、移植 mplayer四、 mplayer使用的全部内容,希望文章能够帮你解决v3S移植mplayer播放器一、前言二、移植 zlib 库三、移植 mplayer四、 mplayer使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复