mplayer 播放HDTV
首先從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