MPlayer是一款开源的多媒体播放软件,可以在Openwrt上来播放mp3和wav等音频文件。另外,mplayer还可以在slave模式下运行,这也是它的一大特色。为了让mplayer能在openwrt上顺利运行,需要进行合理的配置,剪裁掉图像和视频等相关的代码。以下是经过多次试验后的配置和步骤,给有兴趣的openwrt爱好者参考。这里假设openwrt的安装目录为openwrt_widora。
1. 在 ~/openwrt_widora/feeds/packages/multimediar 目录下建立子目录 mplayer 在其中建立一个Makefile, 内容如下:
#
# Copyright (C) 2006-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=MPlayer
PKG_VERSION:=1.0rc2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.mplayerhq.hu/MPlayer/releases/
PKG_MD5SUM:=7e27e535c2d267637df34898f1b91707
PKG_MAINTAINER:= http://www.mplayerhq.hu
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=Copyright
include $(INCLUDE_DIR)/package.mk
define Package/MPlayer
SECTION:=multimedia
CATEGORY:=Multimedia
DEPENDS:= +libpthread +libjpeg +libncurses +libmad +libc +alsa-lib +zlib +liblzo
TITLE:=MPlayer1.0rc2
URL:=$(PKG_SOURCE_URL)
endef
TARGET_CFLAGS += -DHAVE_BYTESWAP_H
CONFIGURE_ARGS= \
--enable-cross-compile \
--host-cc=gcc \
--cc=mipsel-openwrt-linux-gcc \
--target=mips-linux \
--prefix=$(CONFIGURE_PREFIX) \
--bindir=$(CONFIGURE_PREFIX)/bin \
--datadir=$(CONFIGURE_PREFIX)/share \
--mandir=$(CONFIGURE_PREFIX)/man \
--disable-gif \
--disable-png \
--disable-real \
--disable-speex \
--enable-fbdev \
--enable-linux-devfs \
--enable-alsa \
--disable-largefiles \
--disable-dvdread \
--disable-mencoder \
--disable-live \
--disable-ossaudio \
--disable-libavcodec_a \
--disable-libavformat_a \
--disable-libpostproc_a \
--disable-bitmap-font \
--disable-ivtv \
--disable-tv \
--disable-tga \
--disable-pnm \
--disable-md5sum \
--disable-w32threads \
--disable-win32dll \
--disable-qtx \
--disable-xanim \
--disable-libmpeg2 \
--disable-radio-v4l2 \
--disable-radio-bsdbt848 \
--disable-tv-v4l1 \
--disable-tv-v4l2 \
--disable-tv-bsdbt848 \
--disable-tv-teletext \
--disable-pvr \
--disable-mp3lib \
--disable-liba52 \
--disable-decoder=DECODER \
--disable-encoder=ENCODER \
--disable-parser=PARSER \
--disable-demuxer=DEMUXER \
--disable-muxer=MUXER
define Package/MPlayer/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/mplayer $(1)/usr/bin/
endef
$(eval $(call BuildPackage,MPlayer))
注: 如果你想用mplayer来播放视频,那么将上述Makefile的配置部分最下面改为:
--enable-decoder=DECODER \
--enable-demuxer=DEMUXER \
--disable-encoder=ENCODER \
--enable-parser=PARSER \
--disable-muxer=MUXER
这样编译出来的mplayer有4.5M,可以通过fbdev来播放,比如: mplayer /mmc/good_luck.avi -vo fbdev
如果你想播放摄像头视频, 那么打开下面2个选项:
--enable-tv \
--enable-tv-v4l2 \
可以通过以下命令方式来播放/dev/video0摄像头:
MPlayer tv:// -tv driver=v4l2:device=/dev/video0:input=0:outfmt=bgr24:width=320:height=240:fps=8 -vo fbdev
2. 建立软链接到package:
ln -s ~/openwrt_widora/feeds/packages/multimedia/mplayer ~/openwrt_widora/package/feeds/packages/
3. 执行make menuconfig , 在Multimedia类别中m选中MPlayer.
4. openwrt_widora目录下单独编译此模块, 前提环境是openwrt已经编译完成:
make package/feeds/packages/mplayer/compile V=s
5. 完成后可以在bin/ramips/packages/packages目录下找到安装包 MPlayer_1.0rc2-1_ramips_24kec.ipk
Openwrt学习网站: 佐须之男的博客
"技术需要沉淀,成长需要痛苦,成功需要坚持,敬仰需要奉献"