作者WRITERT1NA (小妹( ̄⊿ ̄"盛夏之年)
看板AVEncode
标题mplayer 播放HDTV
时间Sun Apr 12 11:00:40 2009
首先从svn上下载两样东西:
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
svn checkout
http://coreavc-for-linux.googlecode.com/svn/trunk/ coreavc-for-linux
在从网上找到dshowserver 和 registercodec,把它们放在路径中。
本来想自己编译这两个,但是coreavc-for-linux中的dshowserver和loader中make 会出错。
cp /xxx/CoreAVCDecoder.ax /usr/lib/win32(必须是这个目录)
假装注册一下,骗骗CoreAVCDecoder.ax:
registercodec -r ~/.mplayer/registry32 -k "HKLM\\Software\\CoreCodec\\CoreAVC Pro\\Serial" -v "0OKWX-E83B3-CORE-IQ0UW-3I3B7"
现在测试一下:
dshowserver -c CoreAVCDecoder.ax -s 1280x720 -g 09571a4b-f1fe-4c60-9760de6d310c7c31 -b 12 -f 0x34363248 -o 0x30323449
输出:
No id specified, assuming test mode
Opening device
Called unk_IsDebuggerPresent
len: 992
ProductVersion: 1.7.0
Decoder supports the following YUV formats: YUY2 UYVY YV12 I420
Decoder is capable of YUV output (flags 0x2b)
Setting fmt
Starting
Initialization is complete
表明这个解码器已经可以使用了!
然後开始配置mplayer:
./configure --codecsdir=/usr/lib/codecs --win32codecsdir=/usr/lib/win32
完成之後,打个补丁:(只需要打上这个)
patch -p0 < ../coreavc-for-linux/mplayer/dshowserver.patch
make&&make install
看看~/.mplayer 中有没有codecs.conf ,没有就把它从mplayer源码目录下的etc中拷过来,然後在它的开头加上:
videocodec coreserve
info "CoreAVC DShow H264 decoder 1.3 for x86 -
http://corecodec.org/"
status working
format 0x10000005
fourcc H264,h264 H264
fourcc X264,x264
fourcc avc1,AVC1 AVC1
fourcc davc,DAVC
fourcc VSSH
driver dshowserver
dll "CoreAVCDecoder.ax"
guid 0x09571a4b, 0xf1fe, 0x4c60, 0x97, 0x60, 0xde, 0x6d, 0x31, 0x0c, 0x7c, 0x31
out YV12,IYUV,I420,YUY2
这就是告诉mplayer 可以使用名为coreserver的解码器播放好几种高清视频!
这个时候应该就可以了播放高清了,可以明显看到cpu使用效率提高,而且视频也不卡了!
现在解决字幕问题,非常简单:
ln -s simhei.ttf .mplayer/subfont.ttf
测试播放通过!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.100.182.175