I want to be a complete engineer - technical genius and sensitive humanist all in one!

Monday, November 10, 2008

在文本界面(Text Console)下播放音视频

前一段时间在youtube看到了一段使用Linux文本字符流来播放电影,网址

http://www.youtube.com/watch?v=ji0A3kOAc9U,感觉非常有意思,拿出来大家一起娱乐,也巩固一下内核编译和驱动的知识。

首先,确保内核支持VESA(视频电子标准)驱动。并保证内核选择了正确的声卡驱动程序。
以我的机器为例,我的是普通VGA显卡(主板集成,8M显存),声卡是Intel AC97,则在内核中选择以下

必须要支持以下功能:
(1)VESA模式的支持
Device Drivers ---> Graphics support --->
VGA 16-color graphics support
[*] VESA VGA graphics support

(2)相关音频接口的支持,例如:Sequencer support(MIDI接口的支持)
Device Drivers ---> Sound ---> Advanced Linux Sound Architecture --->
Advanced Linux Sound Architecture
Sequencer support
Sequencer dummy client
OSS Mixer API
OSS PCM (digital audio) API
[*] OSS PCM (digital audio) API - Include plugin system
......

(3)声卡驱动
Device Drivers ---> Sound ---> Advanced Linux Sound Architecture ---> PCI devices --->
Intel/SiS/nVidia/AMD/ALi AC97 Controller (AC97声卡)

确保内核支持以上功能后,就可以安装软件了。下面是安装软件的步骤:


1. 下载软件,全部存储到/mnt/source目录下
mkdir -p /mnt/source
cd /mnt/source
wget http://prdownloads.sourceforge.net/aa-project/aalib-1.4rc4.tar.gz
wget http://www4.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2
wget http://www4.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2
wget http://downloads.sourceforge.net/lrmi/lrmi-0.10.tar.gz?modtime=1133743627&big_mirror=0

2. 准备vesautils(自持VESA需要)
svn checkout svn://svn.mplayerhq.hu/vesautils/trunk vesautils

3. 准备解码器库文件
tar essential-20061022.tar.bz2
mkdir /usr/local/lib/codecs
cp essential-20061022/* /usr/local/lib/codecs

4. 修改/etc/ld.so.conf,添加下面的行
/usr/local/lib

5. 编译lrmi
cd /mnt/source
tar -zxvf lrmi-0.10.tar.gz
cd lrmi-0.10
make
make install

6. 编译vesautils
cd /mnt/source/vesautils/libvbe/
make
make install

7. 编译软件aalib
tar -zxvf aalib-1.4rc4.tar.gz
cd aalib-1.4.0
./configure
make
make install

8. 编译Mplayer
tar -jxvf MPlayer-1.0rc1.tar.bz2
cd MPlayer-1.0rc1
编辑configure文件,找到4195行,即:
4195 _ld_aa=`aalib-config --libs | cut -d " " -f 2,5,6`
在该行的后面添加下面两行:
else
_ld_aa="-laa"

./configure --with-codecsdir=/usr/local/lib/codecs --with-win32libdir=/usr/local/lib/codecs

--with-reallibdir=/usr/local/lib/codecs --enable-aa --enable-vesa
make
make install

9. 测试
下载就可以在Text Console下播放电影了。
mplayer -vo vesa 电影文件名

要测试Videos in ASCII Art
mplayer -vo aa 电影文件名

10. 如果VESA播放时分辨率不高,修改/etc/grub.conf文件,在kernel参数后添加选项vga=791。
例如:
kernel /vmlinuz-2.6.18 ro root=/dev/VolGroup00/LogVol00 rhgb quiet vga=791

No comments:

Labels

Followers