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學習網站: 佐須之男的博客
"技術需要沉澱,成長需要痛苦,成功需要堅持,敬仰需要奉獻"