查看: 16790|回复: 4
收起左侧

[技巧] 《MPC播放器滤镜设置个人攻略》

[复制链接]
柯林
发表于 2011-7-25 12:02:36 | 显示全部楼层 |阅读模式
本帖最后由 柯林 于 2011-7-25 14:23 编辑


前一阵用MPC时一时兴起写的,结尾没有写完,虎头蛇尾了,大家将就点看,主要意思已经说明了。

很多播放器都有滤镜设置选项,可以方便地切换和选用合适的滤镜,对影片进行最佳解码。对于手控一族而言,MPC(Media Player Classic)是个很好的玩具,可以进行非常细致的设置。
下面这篇文字,是个人对于滤镜设置的一点粗浅尝试,写下来与爱好者交流一下。在下只是一个初学者,很多东西了解得还不够,如有不当之处,还请大家包涵与指正。
很多人的系统中,都装有一大堆的滤镜。其实很多时候,因为优先级的关系,很多滤镜其实一直都处于闲置状态,只有那些优先级高的滤镜处于工作状态。如果不进行人工干涉(手控),那么系统会一直按照优先级关系自动进行选用,导致的结果之一,可能就是——即使你的系统当中安装了最合适的解码器,由于优先级不够高,系统自动选用一个解码效果不是太佳但是优先级更高的解码器。“家有良驹而卧槽”,真是悲哀。
为了忘却悲哀,咱们来做点事吧。
●基本情况
个人为XP系统,Nvidia集成显卡,属于N卡用户。安装的滤镜有Nvidia滤镜,月光Mpeg2滤镜,MPC-HC滤镜,AC3音频解码器和索尼音频解码器,mpeg2的备用解码器Dscaler以及windows系统自带的滤镜等。
各滤镜的按优先级排序,处于0×00800000及之上的高优先级的有——
分离器:
索尼分离器…………………0×00800201 (SonicHDDemuxer.dll)
Nvidia分离器………………0×00800101 (nvtrpdemux.ax)

解码器:
Mpeg音频解码滤镜………… 0×40000001 (MpaDecFilter.ax)
MPC H264/VC1硬解码器…… 0×40000001 (MPCVideoDec.ax)
系统自带Mpeg视频解码器… 0×40000001 (C:\WINDOWS\system32\quartz.dll)
AC3音频解码器………………0×40000000 (ac3filter.ax)
CoreAVC………………………0×00800200 (CoreAVCDecoder.ax)
xp系统自带MP3解码器………0×00810000 (C:\WINDOWS\system32\13Codecx.ax)
字幕插件…………………… 0×00800002 (VSFilter.dll)
月光Mpeg2视频解码器………0×00800002 (em2vd.ax)
Xvid Mpeg4视频解码器…… 0×00800002 (xvid.ax)
TTL2解压缩………………… 0×00800002 (TTL2DecodeFilter.dll)
TTL2解压缩RGB……………  0×00800001 (TTL2DecodeFilter.dll)
Nvidia音频解码器………… 0×00800001 (nvauddec.ax)
Nvidia视频解码器………… 0×00800001 (nvviddec.ax)
视频渲染器………………… 0×00800001 (C:\WINDOWS\system32\quartz.dll)
windows媒体音频解码器……0×00800001 (C:\WINDOWS\system32\msadds32.ax)
windows媒体视频解码器……0×00800000 (C:\WINDOWS\system32\wmvds32.ax)
windows媒体视频解码器……0×00800000 (C:\WINDOWS\system32\wmv8ds32.ax)
Divx解码器………………… 0×00800000 (DivXDec.ax)
Dscaler音频解码器…………0×00800000 (MpegAudio.dll)
Dscaler视频解码器…………0×00800000 (MpegVideo.dll)
DTSwav源滤镜……………… 0×00800000 (DTSWAVSources.ax)
系统自带DV视频解码器…… 0×00800000 (C:\WINDOWS\system32\qdv.dll)
H26L 解压缩…………………0×00800000 (VidlDec.dll)
H26L 解压缩RGB…………… 0×007fffff (VidlDec.dll)
因特网脚本命令渲染器…… 0×00800001 (C:\WINDOWS\system32\quartz.dll)
微软Mpeg4视频解压缩………0×00800000 (C:\WINDOWS\system32\mpg4ds32.dll)
微软屏幕视频解压缩……… 0×00800000 (C:\WINDOWS\system32\msscds32.dll)
VP6解压缩…………………  0×00800000 (vp6dec.ax)
VP7解压缩…………………  0×00800000 (vp7dec.ax)
其他处于0×00600000阵列的备选待用滤镜(略)

●方案选择
透过以上列表可以看出,如果按默认优先级,对于系统自带的WMP播放器而言,再装多少解码器都是没用的,系统会按对应的媒体类型,自动选择优先级高的滤镜使用,除非使用一些工具人为调整滤镜的优先级,否则低优先级别的滤镜是永远处于待岗状态的。譬如名气很大的月光分离器(mpeg2dmx.ax)优先级仅为0×00580100,比起mpc-hc的avi分离器等要低。
对于MPC来说,以上问题可以忽略,通过扩展滤镜的设置,可以优先调用想使用的滤镜,从而无视默认的优先级关系。通过设置一个合理的方案,可以获取自己想要的结果。
方案设置,分为动态与静态两种。
动态方案是指,根据各种影片的编码特性,临时指定最合适的解码器。有时候不知道哪种最佳,需要进行尝试。
静态方案是指,根据已有解码器,设置一组固定的解码器调用方案。这种设置绝大数情况下是适用的,符合“一次搞定,终身受益”的大众原则。这里选择的是静态设置。
根据上面列表的显示,如果不把需要使用的滤镜优先选用,那么将会被优先级高的滤镜接单处理。根据这一特性,个人设置也就很简单——只要把想要优先使用的滤镜列出来并指明它的工作范围(处理哪些类型的媒体)即可,余下的不用我们管,系统会按默认自动调用高优先级的滤镜来处理。
对于硬解码DXVA来说,集显用户其实作用不大。虽然不大,但不等于没有,设置一下,依然还是有所差别的。由于我是N卡,将会优先考虑月光和Nvidia解码(A卡用户请优先考虑月光和Cyberlink)。H264的解码,优先考虑CoreAVC的软解,最后才是聊胜于无的MPC的硬解。考虑清楚这些关系,下面就按照这种规划进行具体的设置。
●具体设置
为了简洁说明,以下所列,不包含那些砍掉的部分(参考时请依据所列,把那些多余的部分删除,以保持一个最优组合的解码体系)。

◆内部滤镜设置
源滤镜(勾选以下内容):
CDDA (Audio CD)
CDXA (VCD/SVCD/XCD)
DirectShow Media
DTS/AC3
DVD Video Titer Set
DVD2AVI Project File
MPEG Audio
SHOUTcast
转换滤镜(勾选以下内容):
PS2 Audio (PCM/ADPCM)
QT PCM
real解码那个可以勾选或不勾。其它全部去勾。

★扩展滤镜设置(从上到下按照先后顺序排列,仅列举需要的部分,不需要的部分砍掉):
1、MPC-AVI Splitter
   曰 MEDIATYPE_Stream
      ┕MEDIASUBTYPE_Avi

2、MPC-DSM Splitter
   曰 MEDIATYPE_Stream
      ┕{5E9C9EEO-2E4A-4F22-9906-7BBBB75AA2B6}

3、MPC-FLV Splitter
   曰 MEDIATYPE_Stream
      ┕{F2FACOF1-3852-4670-AACO-9051D400AC54}

4、MPC-Matroska Splitter
   曰 MEDIATYPE_Stream
      ┕{1ACOBEBD-4D2B-45AD-BCEB-F2C415E3788}


以下略(大同小异,都是一样的添加和取舍——要它的主要项,额外的东西去除),继续添加MPC-HC的分离器直到月光分离器和Haali为止,继续添加coreAVC、xvid、divx、dscaler等解码器(需要硬解的请把硬解码器的位置排上)


评分

参与人数 1经验 +10 收起 理由
sadfish5 + 10 版区有你更精彩: )

查看全部评分

柯林
 楼主| 发表于 2011-7-25 14:29:03 | 显示全部楼层
个人可以使用暴力手段打破系统默认设置,自己规划滤镜布局。
注意:在暴力调整前,请准备好后悔药——备份注册表并截图备用(出了问题,先参考截图改回原始设置,实在没辙时导回注册表)

例如,我安装了windvd的音频解码器,想让它作主要解码器用,情况是:
DCBassSource.ax的默认优先级是0×00400000
iviaudio.ax的默认优先级也是0×00400000
如果单用windows播放器,希望用iviaudio.ax作为主音频解码器,可以采用破坏系统默认设置的硬性规定法:
把DCBassSource.ax的认优先级设为0×00800001
把iviaudio.ax的认优先级设成0×00800000
注意:DCBassSource.ax的优先级至少要与iviaudio.ax一样,不能比iviaudio.ax低,否则,份属DCBassSource.ax的音频源的读取工作就被iviaudio.ax取代(iviaudio.ax的强项是解码DVD音频,而不是读取AAC等源文件)而没法播放无损音乐。
同样的道理,牵一发而动全身,iviaudio.ax的优先级一调高,其它读取音频源的滤镜优先级也应该调高到不低于iviaudio.ax的优先级,否则就可能出状况了。
所以,一般情况下,不提倡人为改变和打乱系统滤镜的优先级体系。【对于只用WMP的用户而言。有时候这种暴力调整是很有作用的】
柯林
 楼主| 发表于 2011-7-25 14:34:24 | 显示全部楼层
柯林 发表于 2011-7-25 14:29
个人可以使用暴力手段打破系统默认设置,自己规划滤镜布局。
注意:在暴力调整前,请准备好后悔药——备份 ...

这一调整,很多都跟着调整了:
ac3file .ax
AVI2AC3Filter.ax
DTSAC3Source.ax
WavPackDSDecoder.ax
dsfOggDemux2.dll
dsfVorbisDecoder.dll
vp8decoder.dll(顺手)
这些都一起调高到0×00800000了
ZHOU1990
发表于 2011-7-28 18:45:24 | 显示全部楼层
学习了
柯林
 楼主| 发表于 2011-7-28 21:41:15 | 显示全部楼层
本帖最后由 柯林 于 2011-7-28 21:42 编辑
柯林 发表于 2011-7-25 14:29
个人可以使用暴力手段打破系统默认设置,自己规划滤镜布局。
注意:在暴力调整前,请准备好后悔药——备份 ...


其实自己调整滤镜优先级并没有那么可怖,要改回默认很简单的——你只要记得调整了哪个解码器的优先级,用regsvr32命令重新注册这个解码器,它就变成默认的优先级。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-17 00:24 , Processed in 0.119181 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表