0.11 今天发现渲染BDMV字幕时闪烁,增加渲染图像数量可以解决(为什么原来推荐的是0我自己都记不清了)
滤镜介绍中增加xy-vsfilter,至于SVP和ReClock……再议
----------------------------------
这是自己写的一个面向基础用户的mpc-hc使用说明。写这个的起因是,我常常在学校的PT里边发种子,总是会有各种跟贴,说这个打不开那个卡什么的,而我自己用mpc-hc打开都是完全正常的 = = 于是就写了一个简单的介绍来推介mpc-hc。后来又对这个介绍进行了修订与增删,目前这个已经是第二版了。
之所以在nmm贴出来,第一是希望能给有需要的人提供一个方便,此外,写作这个的时候还是感到自己的认识有限,对于某些术语和说法的表达总是感觉有误。希望大家能够指正我写作中的错误,这就是我的小小的私心了
简单易懂的Mpc-hc
前言
这个教程的第一版是在实习的时候夜间甚感无聊写的,之后一年有半的时间里,常觉得需要修改,只不过大的结构确定之后增增补补总是无济于事,而且关于滤镜的部分也一直空缺着没有写。也曾经谋划过一个新版本,只不过列出提纲之后发现题目太大了,而且重复建设过多,于是作罢。不过留着半成品总归是个不好的习惯,所以我也就趁着热情未减,来把它更新一下。
Media Player Classic Home Cinema这个软件其实很简单,很易上手,为它专门写一个教程实在是有点言之过重,于是此次我只想对mpc-hc的一些高级功能进行一点简述,顺便介绍一点视频和滤镜的常识。这也就是为什么把教程二字去掉的原因。
本文为一个导引,不能够把全部的东西都逐一介绍,并且很多东西也并不是定死的,有兴趣的话还请大家查阅更多的资料。以下是一些我推荐的网站(不分先后):
Wikipedia,doom9,doom10,NMM-HD
在第一版写作过程中承蒙某人(暂时匿名处理 - -)进行审定,特此感谢。文中参考了很多材料,其资料来源往往不能一一列举,在此深表歉意与感谢。
目录
1.从视频开始讲起
2.MPC-HC的简单介绍,一些小技巧
3.在mpc-hc中使用滤镜
4.主要的滤镜介绍
Chap.1 从视频开始说起……
► 显示剧情透露
对于视频,估计每个人都不陌生,随便下一个ACG种子,里边总是有mkv,mp4或者avi文件。但是这些后缀名,只能表示这个文件的封装容器是什么。容器,英文是Container,大家可以把它想象成一个盒子,可以把各种音频流视频流包装在一起。实际中常见的就是上边这三种容器。avi是最先提出来的容器,由于存在很大的局限性,所以目前已经逐渐地减少使用了。mp4是由MPEG4视频标准所定义的封装格式,所以得到的支持也最为广泛,PC,PSP,ip*以及PS3都可以原生(有条件地)支持播放。而mkv则是最具包容性的容器,可以往里边装入很多种格式的文件,所以也受到大家的欢迎。
容器有格式之分,容器里边的视频与音频也有格式的区分。对于视频的格式来说,以前常用的是DivX和Xvid,现在则流行的是H264/AVC。这里边有一个演化的过程,H264要比前者优秀。由于历史原因,有时候我们也把H264叫做AVC,Advanced Video Codec,这两个名字所指代的东西是一样的。
那么,我们常常见到的X264是什么呢?它是一个开源编码器的名字,这个编码器是按照H264的标准来进行视频编码的。多亏了开源程序员们的辛勤劳动,X264目前可以说是压制者可以得到的效率最高效果最好的视频编码器。这也是为何它能够得到广泛的应用的原因。
音频方面的格式会比较多一些,如雷贯耳的有mp3,除此之外还有AAC(Advanced Audio Codec),OGG和FLAC等。这几个编码格式都各有千秋,有自己的适用范围,限于篇幅不进行过多的介绍。
写了这么多文字来介绍各种格式,是为了让大家对于播放器的工作流程有一点初步的认识,方便之后对于滤镜的介绍。比如有时候你会发现某些mkv文件花屏,但往往问题是出在mkv里边封装的视频流没有能够正确地解码。同时,由于容器只是一个包装而已,我们有时候更关心的是容器里边装着的视频流与音频流是什么。
于是,不知道大家有没有发现,我好像忘记了一个人民群众喜闻乐见的视频格式:rmvb。rmvb既能算是一种封装,也可以当作是里边的视频编码格式,这个格式前几年还是高清普及的先驱,现在却成为了活化石级别的存在物。原因很多,撇开其日益显得低下的效率不言(很多所谓的rmvb高清,其动态部分与细节部分往往是糊的),它另外的问题在于只有一个闭源的解码器。囿于它的授权许可问题,这个格式在国外的传播其实并不广,只有在国内……(略去n字)。
有这么多的视频编码格式,也有这么多音频编码格式,那么是不是每一种格式都需要一个相对应的解码器呢,可以。不过我们有一个更加完美的方案,它的名字叫做ffmpeg。这是我们目前能得到的最好的解码器,也差不多是唯一的一个。它基本对所有的常见编码格式提供的解码支持,而且它是免费开源的。它是MPC-HC以及射手播放器的核心,是kmplayer和potplayer之类的核心,是QQ影音以及各种影音的核心,也很有可能是目前很多移动播放器的核心。需要强调的是,ffmpeg是以GPL授权的,所以那些没有以GPL兼容的授权方式开源的软件,从法律意义上来说都是侵权的。
在本章的最后,我想要说明介绍mpc-hc的初衷:基于ffmpeg的没有侵权的而且切实可用的播放器其实凤毛麟角,在windows上我只看到有mplayer/mplayer2系列,VLC,MPC/MPC-HC/射手播放器。与ffmpeg无关的免费播放器,大概也只有Windows Media Player与Real Player。出于综合易用性、可定制性与功能的考量,我最终推荐的是mpc-hc。
下边是问答环节
Q:我是linux用户,我能用mpc-hc吗
A:可以wine一个,但是基本没效果。linux下最好用的大概是mplayer以及各种前端的组合,此外mplayer2也值得一试。
Q:除了mpc-hc,还有别的播放器推荐吗
A:对命令行情有独钟的,强烈推荐mplayer2。mplayer2其实也能应付普通使用。
Q:你说***侵权了,有证据吗
A:有的……但是集中了大量证据的ffmpeg的hall of shame被它们自己毁尸灭迹了……于是证据的搜集变得有点困难了……不过侵权这个事情是定论,可以不必质疑。
Q:RMVB有什么不好了,要这么黑它
A:额……
容器有格式之分,容器里边的视频与音频也有格式的区分。对于视频的格式来说,以前常用的是DivX和Xvid,现在则流行的是H264/AVC。这里边有一个演化的过程,H264要比前者优秀。由于历史原因,有时候我们也把H264叫做AVC,Advanced Video Codec,这两个名字所指代的东西是一样的。
那么,我们常常见到的X264是什么呢?它是一个开源编码器的名字,这个编码器是按照H264的标准来进行视频编码的。多亏了开源程序员们的辛勤劳动,X264目前可以说是压制者可以得到的效率最高效果最好的视频编码器。这也是为何它能够得到广泛的应用的原因。
音频方面的格式会比较多一些,如雷贯耳的有mp3,除此之外还有AAC(Advanced Audio Codec),OGG和FLAC等。这几个编码格式都各有千秋,有自己的适用范围,限于篇幅不进行过多的介绍。
写了这么多文字来介绍各种格式,是为了让大家对于播放器的工作流程有一点初步的认识,方便之后对于滤镜的介绍。比如有时候你会发现某些mkv文件花屏,但往往问题是出在mkv里边封装的视频流没有能够正确地解码。同时,由于容器只是一个包装而已,我们有时候更关心的是容器里边装着的视频流与音频流是什么。
于是,不知道大家有没有发现,我好像忘记了一个人民群众喜闻乐见的视频格式:rmvb。rmvb既能算是一种封装,也可以当作是里边的视频编码格式,这个格式前几年还是高清普及的先驱,现在却成为了活化石级别的存在物。原因很多,撇开其日益显得低下的效率不言(很多所谓的rmvb高清,其动态部分与细节部分往往是糊的),它另外的问题在于只有一个闭源的解码器。囿于它的授权许可问题,这个格式在国外的传播其实并不广,只有在国内……(略去n字)。
有这么多的视频编码格式,也有这么多音频编码格式,那么是不是每一种格式都需要一个相对应的解码器呢,可以。不过我们有一个更加完美的方案,它的名字叫做ffmpeg。这是我们目前能得到的最好的解码器,也差不多是唯一的一个。它基本对所有的常见编码格式提供的解码支持,而且它是免费开源的。它是MPC-HC以及射手播放器的核心,是kmplayer和potplayer之类的核心,是QQ影音以及各种影音的核心,也很有可能是目前很多移动播放器的核心。需要强调的是,ffmpeg是以GPL授权的,所以那些没有以GPL兼容的授权方式开源的软件,从法律意义上来说都是侵权的。
在本章的最后,我想要说明介绍mpc-hc的初衷:基于ffmpeg的没有侵权的而且切实可用的播放器其实凤毛麟角,在windows上我只看到有mplayer/mplayer2系列,VLC,MPC/MPC-HC/射手播放器。与ffmpeg无关的免费播放器,大概也只有Windows Media Player与Real Player。出于综合易用性、可定制性与功能的考量,我最终推荐的是mpc-hc。
下边是问答环节
Q:我是linux用户,我能用mpc-hc吗
A:可以wine一个,但是基本没效果。linux下最好用的大概是mplayer以及各种前端的组合,此外mplayer2也值得一试。
Q:除了mpc-hc,还有别的播放器推荐吗
A:对命令行情有独钟的,强烈推荐mplayer2。mplayer2其实也能应付普通使用。
Q:你说***侵权了,有证据吗
A:有的……但是集中了大量证据的ffmpeg的hall of shame被它们自己毁尸灭迹了……于是证据的搜集变得有点困难了……不过侵权这个事情是定论,可以不必质疑。
Q:RMVB有什么不好了,要这么黑它
A:额……
► 显示剧情透露
好像在前边也说过了,MPC-HC全名Media Player Classic - HomeCinema。它是基于Gabest大神的开源项目Media Player Classic发展而来,基于DirectX API与ffmpeg,目前也仍然活跃地不断更新。Mpc-hc的官方稳定版可以在SourceForge上下载到,此外,xvidvideo.ru会编译最新的代码并提供下载,我们可以把它看成beta版。鉴于beta版往往能提供最新的功能与改进,并且使用上也没有任何问题,我下边的介绍都是基于beta版1.5.3.3895进行的。
由于mpc-hc基于最新的DirectX API,所以需要额外安装最新版的DirectX分发包,不安装的话在首次运行的时候就会报错。目前的分发包最新版本是DirectX Redist June 2010。下载地址为:http://www.microsoft.com/download/en/de ... px?id=8109。
正如第一章所说的,rmvb的解码器是闭源的。ffmpeg虽然在解码rmvb上做了足够多的努力,但是表现仍然不如realplayer自带的版本,所以为了正常播放rmvb,我们需要额外安装Real Alternative Lite。这是个免费软件,目前的版本是2.02,可以在各大下载站上下到。(注意,Real Alternative Lite与Real Alternative不一样,后者是附带了一个mpc-hc的版本。)此外,请不要在自己的电脑上安装任何版本的real player,它会对real alternative lite造成干扰。
目前已知有一些软件如qvod等会修改系统设置,造成mpc-hc的播放问题。所以也请不要安装这个软件。
安装前的废话暂告一段落,安装的过程我也不赘述。让我们直接来看安装完毕的mpc-hc吧。 mpc-hc是支持多语言的,所以我觉得对各位来说理解起来也不会很难,所以很一般的事情我就略过不讲了,下边是我自己觉得有用的一些小技巧:
>Ctrl加键盘区的数字键可以实现界面的调整,比如说隐藏标题栏、菜单栏状态栏等,也可以调出播放列表栏等。
>有很多的快捷按键都可以在选项中的快捷键中设定,默认的如按空格键按暂停,上下方向键调节音量,左右按键快进退等都很便利
>在播放界面中右键打开的菜单包括了大多数的常用选项,一般情况下隐藏菜单栏也是没有问题的
>mpc-hc支持拖拽要播放的文件到窗口中即可播放。在已经打开文件的情况下,拖动ass/ssa/idx/srt文件到窗口中可以快速加载字幕
>选择播放结束后要进行的操作,是播放菜单中的“回放结束后”进行选择
mpc-hc的默认设置已经能对付大多数电脑的视频播放,但是它毕竟不是黑科技,在某些配置稍微落后的电脑上可能不能播放高清1080p。这是本身硬件性能的不足的原因。所以我只能保证,如果一个视频可以用别的播放器正常播放,那么用mpc-hc肯定没有问题。
随着硬件的不断升级,最近几代的主流显卡都可以支持硬件加速解码,使用显卡来进行视频的解码运算。这有助于于舒缓CPU的压力,特别是对于某些孱弱的CPU来说,简直是福音。mpc-hc默认情况下是使用DXVA硬件解码器解码h264的。但是这之中有一个很大的问题,并不是所有的h264编码都可以使用硬件来进行解码的。这取决于你的显卡的硬解的性能,也取决于压制视频时候的参数的选择。特别是最近越来越流行的10bit编码,目前的硬件根本不能支持解码。如果显卡的硬解性能不足的话,播放某些影片的时候只会卡死。所以,如果你对你的CPU有足够的信心的话,我非常建议不使用mpc-hc的硬件解码器。取消方法如下图,只需取消掉红框部分的勾选即可。关于这个操作的意义,我们将在本章之后的说明中讲到。
下边是问答环节
Q:我是Win7/Vista系统,明明本身就带有DirectX 10,还要装那个分发包吗
A:Yes。
Q:我安装了各种影音,win7 codecs,kmplayer,potplayer,还有完美解码,对使用mpc-hc有影响吗
A:默认配置的mpc-hc只会调用自己的解码器,这些解码器不受别的程序的影响。但是使用外部解码器的话,外部解码器的设置是可能在你使用别的程序的时候被改变的。不过大部分情况mpc-hc都可以和别的播放器友好相处。
至于完美解码是一个特殊情况,因为它也带有一个mpc-hc,所以完美解码的设置有可能会影响到mpc-hc的——其实我两年前就不装完美解码了,所以这个只是个人猜测。
Q:如果不安装一个解码包,我害怕mpc-hc不能正常工作
A:装了出问题的几率反而更大。我每次重装windows7系统,只安装了mpc-hc和real alternative lite以及一些别的滤镜。什么解码包之类的,不但体积大,而且里边的很多东西不用的话就没有意义了。
Q:那些漂亮的字幕特效好像有问题啊
A:给出我的配置,可以参考一下
Q:RMVB一卡一卡的
A:先确证你没有安装过real player,而且安装了real alternative lite。之后,如果还有问题,可以在在设置的输出选项卡处把EVR-CP换成EVR-Sync。(关于XP的解决方案,我这里没有XP系统,而且也不知道XP有没有这个问题)
Q:不好了,播放一个视频花屏了
A:关闭硬解试试
Q:不好了,打开硬解的时候卡死了
A:牵涉到硬件的东西总是很人品……按alt+F4看看能不能强制关闭播放器。如果你的显卡很老了,还是不要开硬解吧。
Q:不好了,软解一个高清视频卡死了
A:CPU该升级了,或者关掉某些占用CPU太多的程序吧。
Q:不好了,不小心点了某个设置,现在不正常了,而且忘了改了哪里了……
A:选项中的“其它”部分有一个重置设置的按钮,欢迎选用。
由于mpc-hc基于最新的DirectX API,所以需要额外安装最新版的DirectX分发包,不安装的话在首次运行的时候就会报错。目前的分发包最新版本是DirectX Redist June 2010。下载地址为:http://www.microsoft.com/download/en/de ... px?id=8109。
正如第一章所说的,rmvb的解码器是闭源的。ffmpeg虽然在解码rmvb上做了足够多的努力,但是表现仍然不如realplayer自带的版本,所以为了正常播放rmvb,我们需要额外安装Real Alternative Lite。这是个免费软件,目前的版本是2.02,可以在各大下载站上下到。(注意,Real Alternative Lite与Real Alternative不一样,后者是附带了一个mpc-hc的版本。)此外,请不要在自己的电脑上安装任何版本的real player,它会对real alternative lite造成干扰。
目前已知有一些软件如qvod等会修改系统设置,造成mpc-hc的播放问题。所以也请不要安装这个软件。
安装前的废话暂告一段落,安装的过程我也不赘述。让我们直接来看安装完毕的mpc-hc吧。 mpc-hc是支持多语言的,所以我觉得对各位来说理解起来也不会很难,所以很一般的事情我就略过不讲了,下边是我自己觉得有用的一些小技巧:
>Ctrl加键盘区的数字键可以实现界面的调整,比如说隐藏标题栏、菜单栏状态栏等,也可以调出播放列表栏等。
>有很多的快捷按键都可以在选项中的快捷键中设定,默认的如按空格键按暂停,上下方向键调节音量,左右按键快进退等都很便利
>在播放界面中右键打开的菜单包括了大多数的常用选项,一般情况下隐藏菜单栏也是没有问题的
>mpc-hc支持拖拽要播放的文件到窗口中即可播放。在已经打开文件的情况下,拖动ass/ssa/idx/srt文件到窗口中可以快速加载字幕
>选择播放结束后要进行的操作,是播放菜单中的“回放结束后”进行选择
mpc-hc的默认设置已经能对付大多数电脑的视频播放,但是它毕竟不是黑科技,在某些配置稍微落后的电脑上可能不能播放高清1080p。这是本身硬件性能的不足的原因。所以我只能保证,如果一个视频可以用别的播放器正常播放,那么用mpc-hc肯定没有问题。
随着硬件的不断升级,最近几代的主流显卡都可以支持硬件加速解码,使用显卡来进行视频的解码运算。这有助于于舒缓CPU的压力,特别是对于某些孱弱的CPU来说,简直是福音。mpc-hc默认情况下是使用DXVA硬件解码器解码h264的。但是这之中有一个很大的问题,并不是所有的h264编码都可以使用硬件来进行解码的。这取决于你的显卡的硬解的性能,也取决于压制视频时候的参数的选择。特别是最近越来越流行的10bit编码,目前的硬件根本不能支持解码。如果显卡的硬解性能不足的话,播放某些影片的时候只会卡死。所以,如果你对你的CPU有足够的信心的话,我非常建议不使用mpc-hc的硬件解码器。取消方法如下图,只需取消掉红框部分的勾选即可。关于这个操作的意义,我们将在本章之后的说明中讲到。
下边是问答环节
Q:我是Win7/Vista系统,明明本身就带有DirectX 10,还要装那个分发包吗
A:Yes。
Q:我安装了各种影音,win7 codecs,kmplayer,potplayer,还有完美解码,对使用mpc-hc有影响吗
A:默认配置的mpc-hc只会调用自己的解码器,这些解码器不受别的程序的影响。但是使用外部解码器的话,外部解码器的设置是可能在你使用别的程序的时候被改变的。不过大部分情况mpc-hc都可以和别的播放器友好相处。
至于完美解码是一个特殊情况,因为它也带有一个mpc-hc,所以完美解码的设置有可能会影响到mpc-hc的——其实我两年前就不装完美解码了,所以这个只是个人猜测。
Q:如果不安装一个解码包,我害怕mpc-hc不能正常工作
A:装了出问题的几率反而更大。我每次重装windows7系统,只安装了mpc-hc和real alternative lite以及一些别的滤镜。什么解码包之类的,不但体积大,而且里边的很多东西不用的话就没有意义了。
Q:那些漂亮的字幕特效好像有问题啊
A:给出我的配置,可以参考一下
Q:RMVB一卡一卡的
A:先确证你没有安装过real player,而且安装了real alternative lite。之后,如果还有问题,可以在在设置的输出选项卡处把EVR-CP换成EVR-Sync。(关于XP的解决方案,我这里没有XP系统,而且也不知道XP有没有这个问题)
Q:不好了,播放一个视频花屏了
A:关闭硬解试试
Q:不好了,打开硬解的时候卡死了
A:牵涉到硬件的东西总是很人品……按alt+F4看看能不能强制关闭播放器。如果你的显卡很老了,还是不要开硬解吧。
Q:不好了,软解一个高清视频卡死了
A:CPU该升级了,或者关掉某些占用CPU太多的程序吧。
Q:不好了,不小心点了某个设置,现在不正常了,而且忘了改了哪里了……
A:选项中的“其它”部分有一个重置设置的按钮,欢迎选用。
► 显示剧情透露
滤镜是什么?
滤镜是由英文Filter翻译而来的。这个词其实具有各种各样的意思,在软件中主要指的是对文件流进行处理转换的程序。至于翻译成中文为什么叫做滤镜,很有可能是翻译者偷懒了,或者就是和摄影中对于光的处理的过程有相似之处吧……DirectX滤镜就是包含在DirectX中的对于媒体流进行处理的一堆程序。按照mpc-hc的分类,其基本分为几大类:
源滤镜,source——打开文件
分离滤镜,分离器,splitter——解开文件封装
(在mpc-hc中源滤镜和分离滤镜指的是同一个东西)
解码滤镜,解码器,decoder——对媒体流进行解码
渲染滤镜,渲染器,renderer——将解码后的媒体流输出给显示或音乐设备
每一个滤镜都封装成一个个dll。想要让这些滤镜在系统中使用,和普通的dll一样,首先必须向系统进行注册。为了行文方便,除非特殊说明,之后我所说的××滤镜与××器都是指的同一个事物。
mpc-hc播放器是基于DirectX的,也就是说,它也依赖着这些滤镜工作。默认设置中,播放视频时,mpc-hc优先检查自己的内置滤镜能不能匹配相应的数据类型,如果没有的话再查找系统注册表中是否有相关的滤镜。而mpc-hc也提供了方便快捷的界面来对滤镜进行配置。包括内部滤镜的启用与否,外部滤镜的引入与配置等。
首先是内置滤镜的配置。左边的源滤镜是分离器,右边的转换滤镜是解码器。这个配置页的说明已经很清楚了,不再赘述。下同。 音频切换器其实应该属于分离器的一部分。只有在使用了内部的分离器的时候才可以使用(如果使用的是外部的分离器的话,播放时菜单的音频部分是灰色的)。 mpc-hc内置的字幕滤镜,之前已经稍微介绍过了。默认风格标签页的内容是对于没有定义样式的srt字幕等才有效果。
内置与外部的渲染器的选择与设置都在这里。对于不同版本的windows系统,可用的渲染器的种类不一定一样。其中haali和madvr属于外部的渲染滤镜,它们的设置需要在外部滤镜中单独进行。顺便一提,音频渲染器中的MPC Audio Renderer是调用WASAPI进行音频输出。对于foobar2000的WASAPI有所了解的话可以试试。
外部滤镜的界面就在这里了,在这里可以导入与管理扩展的滤镜,并且对其进行设置。 添加滤镜窗口列出了所有在注册表当中注册的滤镜。对于没有注册的滤镜,可以点击左下角的浏览进行指定。
对添加的滤镜双击可以打开该滤镜的设置界面。可以选择在mpc-hc中禁用某个滤镜,也可以强制应用,或者修改这个滤镜应用的媒体类型,甚至可以调节滤镜的先后顺序。这里的优先级的调节只是对于mpc-hc的调节,不会影响到系统的设置。
那么,怎样才能知道你在播放某个文件时调用的滤镜呢?使用播放菜单中的滤镜子菜单,或者画面右键的滤镜子选单。里边列出的都是播放这个文件时所用的滤镜,点击某个滤镜还可以进行设置或者信息查看等操作。 于是是问答环节
Q:为什么mpc-hc的滤镜设置这么分散
A:一般来说我们所需要配置的主要还是分离器和解码器。
Q:感觉这一章的内容不多啊
A:同感
滤镜是由英文Filter翻译而来的。这个词其实具有各种各样的意思,在软件中主要指的是对文件流进行处理转换的程序。至于翻译成中文为什么叫做滤镜,很有可能是翻译者偷懒了,或者就是和摄影中对于光的处理的过程有相似之处吧……DirectX滤镜就是包含在DirectX中的对于媒体流进行处理的一堆程序。按照mpc-hc的分类,其基本分为几大类:
源滤镜,source——打开文件
分离滤镜,分离器,splitter——解开文件封装
(在mpc-hc中源滤镜和分离滤镜指的是同一个东西)
解码滤镜,解码器,decoder——对媒体流进行解码
渲染滤镜,渲染器,renderer——将解码后的媒体流输出给显示或音乐设备
每一个滤镜都封装成一个个dll。想要让这些滤镜在系统中使用,和普通的dll一样,首先必须向系统进行注册。为了行文方便,除非特殊说明,之后我所说的××滤镜与××器都是指的同一个事物。
mpc-hc播放器是基于DirectX的,也就是说,它也依赖着这些滤镜工作。默认设置中,播放视频时,mpc-hc优先检查自己的内置滤镜能不能匹配相应的数据类型,如果没有的话再查找系统注册表中是否有相关的滤镜。而mpc-hc也提供了方便快捷的界面来对滤镜进行配置。包括内部滤镜的启用与否,外部滤镜的引入与配置等。
首先是内置滤镜的配置。左边的源滤镜是分离器,右边的转换滤镜是解码器。这个配置页的说明已经很清楚了,不再赘述。下同。 音频切换器其实应该属于分离器的一部分。只有在使用了内部的分离器的时候才可以使用(如果使用的是外部的分离器的话,播放时菜单的音频部分是灰色的)。 mpc-hc内置的字幕滤镜,之前已经稍微介绍过了。默认风格标签页的内容是对于没有定义样式的srt字幕等才有效果。
内置与外部的渲染器的选择与设置都在这里。对于不同版本的windows系统,可用的渲染器的种类不一定一样。其中haali和madvr属于外部的渲染滤镜,它们的设置需要在外部滤镜中单独进行。顺便一提,音频渲染器中的MPC Audio Renderer是调用WASAPI进行音频输出。对于foobar2000的WASAPI有所了解的话可以试试。
外部滤镜的界面就在这里了,在这里可以导入与管理扩展的滤镜,并且对其进行设置。 添加滤镜窗口列出了所有在注册表当中注册的滤镜。对于没有注册的滤镜,可以点击左下角的浏览进行指定。
对添加的滤镜双击可以打开该滤镜的设置界面。可以选择在mpc-hc中禁用某个滤镜,也可以强制应用,或者修改这个滤镜应用的媒体类型,甚至可以调节滤镜的先后顺序。这里的优先级的调节只是对于mpc-hc的调节,不会影响到系统的设置。
那么,怎样才能知道你在播放某个文件时调用的滤镜呢?使用播放菜单中的滤镜子菜单,或者画面右键的滤镜子选单。里边列出的都是播放这个文件时所用的滤镜,点击某个滤镜还可以进行设置或者信息查看等操作。 于是是问答环节
Q:为什么mpc-hc的滤镜设置这么分散
A:一般来说我们所需要配置的主要还是分离器和解码器。
Q:感觉这一章的内容不多啊
A:同感
► 显示剧情透露
虽然这里的”常用“说的其实是我自己常用的,但是我觉得也很好地覆盖了大部分大家会用到的,就算没介绍,大家搜索一下总能找到的。同时,所有的滤镜都不提供下载地址,原因很简单。
分离器
1.MPC-HC内置/MPC Standalone Filters/Gabest Splitter
把MPC-HC内置的单独封装放出来就是Standalone Filters。开源。
优点是和mpc-hc结合紧密。缺点是不支持某些特殊情况如两条视频轨等。
而Gabest Splitter其实是当年Gabest大神开发的主要用于Matroska的分离器,这个名词已经属于历史了
2.Haali Splitter
搜索Matroska Splitter所能搜到的第一位(google/bing),闭源。
haali是splitter的王者,别的分离器对于某些文件还存在无法识别的情况,但是haali基本没有。不过王者也很霸道,会把自己在系统的优先级调到很高。我曾经有过haali和lavf一起安装,然后想要禁用haali使用lavf却没有办法的情况。
安装haali splitter的时候还会顺便装上haali渲染器。
3.lavf filters
基于ffmpeg的lavf。开源。
这两年出现的新事物,一开始是splitter,现在已经包含了decoder。
音视频解码器
1.MPC-HC内置/MPC Standalone Filters
基于ffmpeg,开源。
支持10bit。
2.FFdshow tryouts
一个基于ffmpeg的directshow滤镜组。以前叫做FFdshow,停止开发后另外一群人开了叫做FFdshow tryouts的坑继续更新。所以现在一般说ffdshow都是指的后者。开源。
很强大,除了解码,还有很多解码后处理选项。对于某些古怪的编码也能很好地支持。关于ffdshow的配置甚至可以开一篇新文章了。
支持10bit
3.lavf filters
基于ffmpeg。开源。
解码器也是11年才出现的,效果不错。
支持10bit
4.CoreAVC
闭源。商业。
解8bit的时候的效率据说是最高之一。对于Nvidia显卡还可以开启CUDA加速。
支持10bit
5.DXVA
这个其实不能算是一个单独的滤镜,因为这个是DirectX提供的硬件加速接口。
目前mpc-hc、ffdshow和CoreAVC都可以调用DXVA来实现硬件加速解码,这也是ATI显卡用户唯一的方案。
渲染器1.VMR/EVR
默认情况下的渲染器。都有可能因为显卡的色彩设置而造成levels二次伸张。EVR-CP和EVR-Sync差别不大,但是EVR-sync号称可以实现帧率的稳定。缩放算法的选择可以影响渲染器缩放视频的效果,个人推荐Bicubic A=-0.75
2.haali
安装完haali splitter之后可选
听说比VMR/EVR要好。可以保证色彩的正确,资源占用较前者要多一点。
3.MadVR
如果显卡比较好的话,推荐使用
主要使用显卡进行运算,精度高,支持多种色彩模式的输入,还有很多种缩放方法的选择
缺点是不支持硬解。
字幕渲染器
1..DirectVobsub/vsfilter 2.33/2.39
Gabest大神开发的字幕渲染器,开源。
目前最常用的外置字幕渲染器,支持各种字幕格式。
导入mpc-hc的时候会出现两个版本,一个是普通版,一个是写着auto-loading version,不必在意,只要这两个都选了就对了d- -b
2.vsfilter 2.40/MPC Standalone Filters
mpc-hc内置字幕滤镜,在standalone filters里版本号标为2.40,图标也与普通vsfilter不一样,开源
功能与使用方法倒是差不多的
3.ffdshow subtitle renderer
基于libass,开源。
对超出ass标准的vobsub特效支持不够完全,渲染效果也不够自然,但是应付一般使用是大丈夫的。
4.xy-vsfilter
x小鱼y前辈开发的vsfilter修改版,能够减少强效字幕载入时间,显示效果也更加稳定
具体请移步:http://www.nmm-hd.org/newbbs/viewtopic.php?f=17&t=446
以下是问答环节
Q:怎么实现双字幕?
A:首先我觉得这种方法学外语有点自欺欺人
实现这个的现成方案是用射手播放器,当然mpc-hc也一样能做。
使用内置字幕滤镜或者vsfilter+ffdshow subtitle renderer的方案。
其中ffdshow subtitle renderer中调节字幕的垂直位置到合适处。
效果图:
Q:levels二次伸张是什么奇怪的东西
A:简单地说,就是视频文件储存的亮度值是16~235(TV Scale),而显示到显示屏上的都是0~255(PC Scale),在播放过程中总需要一个变换,叫做色彩伸张,这个变换可以是解码器来做,也可以是渲染器来做或者也可以显卡来做。没做的话视频会发灰发暗,伸张了多次的话视频就过亮了。
测试你的播放器输出的色彩是否正确,可以使用测试色条,如http://www.dgwxx.net/files/colorbar_for_yc_test.m2v(在此感谢dgwxx和vempex两位巨巨,本视频出处:http://www.nmm-hd.org/newbbs/viewtopic.php?f=5&t=21)
用mpc-hc播放的时候出现的画面像这样子,上边的白色的RGB值是(235,235,235),下边的白色的RGB值全是255(可以用QQ截图工具来查)的话可以说明你的播放器的色彩是正常的
如果不正常了,则需要调教显卡设置,换用haali/madvr渲染器或者指定解码器输出RGB32色彩模式。
Q:这么多滤镜,我该用哪个啊
A:没什么需求不喜欢折腾的话可以用默认的就够了,追求高水准的话请好好折腾一下
Q:在mpc-hc的菜单里选不了字幕轨了
A:当你用了外部的字幕滤镜的时候就这样,可以在滤镜的状态栏驻留图标上右键选择,或者在画面右键菜单的滤镜中的该滤镜处进行选择。
Q:mpc-hc的音频选单中选不了音频了
A:用了外部分离器的话就会如此,方法参照上一条。
分离器
1.MPC-HC内置/MPC Standalone Filters/Gabest Splitter
把MPC-HC内置的单独封装放出来就是Standalone Filters。开源。
优点是和mpc-hc结合紧密。缺点是不支持某些特殊情况如两条视频轨等。
而Gabest Splitter其实是当年Gabest大神开发的主要用于Matroska的分离器,这个名词已经属于历史了
2.Haali Splitter
搜索Matroska Splitter所能搜到的第一位(google/bing),闭源。
haali是splitter的王者,别的分离器对于某些文件还存在无法识别的情况,但是haali基本没有。不过王者也很霸道,会把自己在系统的优先级调到很高。我曾经有过haali和lavf一起安装,然后想要禁用haali使用lavf却没有办法的情况。
安装haali splitter的时候还会顺便装上haali渲染器。
3.lavf filters
基于ffmpeg的lavf。开源。
这两年出现的新事物,一开始是splitter,现在已经包含了decoder。
音视频解码器
1.MPC-HC内置/MPC Standalone Filters
基于ffmpeg,开源。
支持10bit。
2.FFdshow tryouts
一个基于ffmpeg的directshow滤镜组。以前叫做FFdshow,停止开发后另外一群人开了叫做FFdshow tryouts的坑继续更新。所以现在一般说ffdshow都是指的后者。开源。
很强大,除了解码,还有很多解码后处理选项。对于某些古怪的编码也能很好地支持。关于ffdshow的配置甚至可以开一篇新文章了。
支持10bit
3.lavf filters
基于ffmpeg。开源。
解码器也是11年才出现的,效果不错。
支持10bit
4.CoreAVC
闭源。商业。
解8bit的时候的效率据说是最高之一。对于Nvidia显卡还可以开启CUDA加速。
支持10bit
5.DXVA
这个其实不能算是一个单独的滤镜,因为这个是DirectX提供的硬件加速接口。
目前mpc-hc、ffdshow和CoreAVC都可以调用DXVA来实现硬件加速解码,这也是ATI显卡用户唯一的方案。
渲染器1.VMR/EVR
默认情况下的渲染器。都有可能因为显卡的色彩设置而造成levels二次伸张。EVR-CP和EVR-Sync差别不大,但是EVR-sync号称可以实现帧率的稳定。缩放算法的选择可以影响渲染器缩放视频的效果,个人推荐Bicubic A=-0.75
2.haali
安装完haali splitter之后可选
听说比VMR/EVR要好。可以保证色彩的正确,资源占用较前者要多一点。
3.MadVR
如果显卡比较好的话,推荐使用
主要使用显卡进行运算,精度高,支持多种色彩模式的输入,还有很多种缩放方法的选择
缺点是不支持硬解。
字幕渲染器
1..DirectVobsub/vsfilter 2.33/2.39
Gabest大神开发的字幕渲染器,开源。
目前最常用的外置字幕渲染器,支持各种字幕格式。
导入mpc-hc的时候会出现两个版本,一个是普通版,一个是写着auto-loading version,不必在意,只要这两个都选了就对了d- -b
2.vsfilter 2.40/MPC Standalone Filters
mpc-hc内置字幕滤镜,在standalone filters里版本号标为2.40,图标也与普通vsfilter不一样,开源
功能与使用方法倒是差不多的
3.ffdshow subtitle renderer
基于libass,开源。
对超出ass标准的vobsub特效支持不够完全,渲染效果也不够自然,但是应付一般使用是大丈夫的。
4.xy-vsfilter
x小鱼y前辈开发的vsfilter修改版,能够减少强效字幕载入时间,显示效果也更加稳定
具体请移步:http://www.nmm-hd.org/newbbs/viewtopic.php?f=17&t=446
以下是问答环节
Q:怎么实现双字幕?
A:首先我觉得这种方法学外语有点自欺欺人
实现这个的现成方案是用射手播放器,当然mpc-hc也一样能做。
使用内置字幕滤镜或者vsfilter+ffdshow subtitle renderer的方案。
其中ffdshow subtitle renderer中调节字幕的垂直位置到合适处。
效果图:
Q:levels二次伸张是什么奇怪的东西
A:简单地说,就是视频文件储存的亮度值是16~235(TV Scale),而显示到显示屏上的都是0~255(PC Scale),在播放过程中总需要一个变换,叫做色彩伸张,这个变换可以是解码器来做,也可以是渲染器来做或者也可以显卡来做。没做的话视频会发灰发暗,伸张了多次的话视频就过亮了。
测试你的播放器输出的色彩是否正确,可以使用测试色条,如http://www.dgwxx.net/files/colorbar_for_yc_test.m2v(在此感谢dgwxx和vempex两位巨巨,本视频出处:http://www.nmm-hd.org/newbbs/viewtopic.php?f=5&t=21)
用mpc-hc播放的时候出现的画面像这样子,上边的白色的RGB值是(235,235,235),下边的白色的RGB值全是255(可以用QQ截图工具来查)的话可以说明你的播放器的色彩是正常的
如果不正常了,则需要调教显卡设置,换用haali/madvr渲染器或者指定解码器输出RGB32色彩模式。
Q:这么多滤镜,我该用哪个啊
A:没什么需求不喜欢折腾的话可以用默认的就够了,追求高水准的话请好好折腾一下
Q:在mpc-hc的菜单里选不了字幕轨了
A:当你用了外部的字幕滤镜的时候就这样,可以在滤镜的状态栏驻留图标上右键选择,或者在画面右键菜单的滤镜中的该滤镜处进行选择。
Q:mpc-hc的音频选单中选不了音频了
A:用了外部分离器的话就会如此,方法参照上一条。