9.(可选)配置 SMPlayer
(1)确定使用正确的 MPlayer 版本:
“选项“-”首选项“-“常规”,在“常规”选项卡的“选择 MPlayer 的可执行文件“中输入
/usr/local/bin/mplayer
(2)取消 Draw video using slices:
“选项“-”首选项“-“常规”,在“视频“选项卡中取消”Draw video using slices”。
(3)取消 CoreAVC 不支持的反拉丝,并让 CoreAVC 自己决定后期处理级别:
“选项“-”首选项“-“常规”,在“视频“选项卡中将反拉丝设为“无“,取消“为所有视频启用后期处理”。
(4)关闭会导致错误的 Correct PTS 选项:
“选项“-”首选项“-“高级”,在“高级“选项卡中取消“Correct PTS“。
点击“确定“保存退出。
当播放高清视频时点击“信息“后,若是显示在“视频“-”选择编码器“中显示”coreserve“,恭喜你,成功了!
ffh264 与 CoreAVC 解码效率对比:
根据 MPlayer man 手册的建议,对手头的 辐射3官方720P 宣传片进行测试。
使用 ffh264 时:
mplayer -benchmark -vo null -nosound -vc ffh264 fallout3_HD.mp4
原始输出:
MPlayer SVN-r28764-snapshot-4.3.2 (C) 2000-2009 MPlayer Team
137 audio & 297 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing fallout3_HD.mp4.
libavformat file format detected.
[lavf] Audio stream found, -aid 0
[lavf] Video stream found, -vid 1
VIDEO: [avc1] 1280×720 24bpp 29.970 fps 0.0 kbps ( 0.0 kbyte/s)
Clip info:
name: Fallout 3 Official Trailer
==========================================================================
Forced video codec: ffh264
Opening video decoder: [ffmpeg] FFmpeg’s libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
Audio: no sound
Starting playback…
VDec: vo config request - 1280 x 720 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [null] 1280×720 => 1280×720 Planar YV12
V: 193.7 0/ 0 41% 0% 0.0% 0 0
BENCHMARKs: VC: 80.627s VO: 0.023s A: 0.000s Sys: 1.091s = 81.741s
BENCHMARK%: VC: 98.6373% VO: 0.0278% A: 0.0000% Sys: 1.3349% = 100.0000%
Exiting… (End of file)
使用 CoreAVC 时:
mplayer -benchmark -vo null -nosound -vc coreserve fallout3_HD.mp4
原始输出:
MPlayer SVN-r28764-snapshot-4.3.2 (C) 2000-2009 MPlayer Team
137 audio & 297 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing fallout3_HD.mp4.
libavformat file format detected.
[lavf] Audio stream found, -aid 0
[lavf] Video stream found, -vid 1
VIDEO: [avc1] 1280×720 24bpp 29.970 fps 0.0 kbps ( 0.0 kbyte/s)
Clip info:
name: Fallout 3 Official Trailer
==========================================================================
Forced video codec: coreserve
Opening video decoder: [dshowserver] DirectShowServer video codecs
Opening device
Called unk_IsDebuggerPresent
len: 992
ProductVersion: 1.9.0
Decoder supports the following YUV formats: YUY2 UYVY YV12 I420
Decoder is capable of YUV output (flags 0×2b)
Setting fmt
Starting
Initialization is complete
VDec: vo config request - 1280 x 720 (preferred colorspace: Packed YUY2)
[PP] Using codec’s postprocessing, max q = 4.
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [null] 1280×720 => 1280×720 Planar YV12
Found DirectShow filterSelected video codec: [coreserve] vfm: dshowserver (CoreAVC DShow H264 decoder 1.3 for x86 - )
==========================================================================
Audio: no sound
Starting playback…
Dshowserver Connected to host
pts value < previous ??% ??,?% 0 0
V: 193.6 0/ 0 22% 0% 0.0% 0 0
BENCHMARKs: VC: 43.521s VO: 0.024s A: 0.000s Sys: 1.697s = 45.241s
BENCHMARK%: VC: 96.1975% VO: 0.0525% A: 0.0000% Sys: 3.7499% = 100.0000%
Destroying filter
Exiting… (End of file)
根据此文中对各项结果的说明,可以看出使用 CoreAVC 可以使用户空间上解码所用时间从 ffh264 的 80.627s 下降到 43.521s,也就是说速度提升了46%((80.627-43.521)/80.627)!只是在内核空间上有小幅度的提升,从ffh264 的 1.091s 升高到1.697s。据此可见 CoreAVC 的解码效率还是相当惊人的。
总结
个人使用了一些 720P 的片子测试,做为一款需要掏钱的解码器,画面效果相当出色,也没有跳帧的现象发生,但是 CPU 占有率并没有明显下降,是由于 CoreAVC 会在能保持流畅的时候使用剩余 CPU 资源去做画质后处理。在本人 Turion 64 X2 TL-58 /DDR2 800 2*2GB / GeForce 8400M G 128M 的机子上 CPU 占有率在 40% 至 90% 间浮动。没有 1080P 的资源,不知道此时的 CPU 占有率如何。
如果你的 CPU 性能不错但是显卡不被 VDPAU 支持,并且无法忍受 ffmpeg-mt git 1b/s 的下载速度,那么 CoreAVC 的确是目前在 Linux 播放高清视频的最佳选择。
附:如何在 Windows 平台上的 SMPlayer 中使用 CoreAVC
1.到这里下载带有 CoreAVC 支持的 MPlayer 可执行文件。
2.用上面下载的 mplayer.exe 覆盖掉 SMPlayer for Windows 安装时附带的 mplayer.exe。
3.将 CoreAVC 安装目录下的 CoreAVCDecoder.ax 文件复制到 SMlayer 目录下的 codec 目录中。
4.执行上文 SMPlayer 配置中(2)(3)(4)。
5.在 SMPlayer 的 “选项“-”首选项“-“高级”,在“MPlayer选项“选项卡中的“选项“处填入-vc coreavc,,注意不要漏掉最后的逗号!