『漫游』酷论坛>『影音数码技术学习交流』>Media Player Classic和realon ..

Media Player Classic和realone用来播放avi,rm,rmvb格式动画,哪个效果好

caodp@2003-12-31 12:07

请高手解答
引用

jiangn@2003-12-31 13:39

效果好不好是解码器的事,本质上与播放器无关.
还有就是显卡和显示器了,颜色校正也很重要.我个人比较喜欢MPC
引用

caodp@2003-12-31 14:53

thank you
引用

lean@2003-12-31 15:06

不,mpc好一点

先安装dx9,在mpc->option->playback->out->realvideo,选择dx7或者dx9,即启用vmr(renderless),全屏下的锯齿更少了,画面会变得"干净"很多!!!!

如果不信,我可以抓图对比给你看!
引用

lean@2003-12-31 15:12

还有,winxp对directshow 默认是采用vmr 7输出的,所以不用设置直接看avi等就已经有最佳的效果~~

而98/2k就采用比较老的overlay mixer渲染方式,虽然速度上是快一点,但全屏抗锯齿(柔化)/功能方面跟 vmr 这种比较新的渲染引擎来说是没法比的~~~~!!
引用

lean@2003-12-31 15:15

转自http://hqtech.nease.net/articles/OverlayMixer.htm

关于Video Renderer和Overlay Mixer

作者:陆其明 刊载于《中文信息——程序春秋》2003.9期

大家知道,Video Renderer (VR)是接收RGB/YUV裸数据,然后在显示器上显示的Filter。为提高计算机画图性能,根据你计算机显卡的能力,VR会优先使用DirectDraw以及Overlay表面;如果这些特性得不到显卡的支持,VR会使用GDI函数进行画图。在上级Filter连接到VR时,VR总是先要求当前显示器设置的色彩位数的RGB格式,如你的机器设置的是24位彩色,则VR首先要求连接的Media type为RGB24。如果你的显卡支持YUV Overlay表面,那么在Filter Graph运行起来的时候,VR会动态改变已经连接的Media type,要求上级Filter输出一种合适的YUV格式。VR Filter上实现了IVideoWindow接口,Filter Graph Manager主要通过这个接口来控制视频窗口。
那么,Overlay Mixer又是怎么回事呢?简单地说,Overlay Mixer就是能够将几路视频流合成输出的Filter。这个Filter是特地为DVD回放(DVD有Sub-picture或line-21数据需要叠加显示)或广播视频流(含有line-21数据)而设计的。同时,它还支持硬件解码器使用Video Port Extensions,就是绕过PCI总线,将硬件解码出来的数据直接送给显卡显示。这个Filter同样优先使用显卡的DirectDraw能力,而且必须要有Overlay表面。Overlay Mixer有一个输出Pin,输出的Media type是:MEDIATYPE_VIDEO,MEDIASUBTYPE_ Overlay;后面一般连上一个Video Renderer。当Filter Graph运行时,实际的图像显示工作由Overlay Mixer完成,而Video Renderer只是做一个视频窗口的管理工作。还有另外一个更常见的Filter:Overlay Mixer 2。这个Filter跟Overlay Mixer功能上是一样的,只是两个Filter支持的Format type不同和Merit值不同而已。

Overlay Mixer使用Color keying来实现几路视频的合成:它将Color key和sub-picture(或line-21)数据送到主表面,将主视频数据送到Overlay表面;显卡然后将两个表面的数据合成,送到帧缓存(Frame buffer)中进行显示。典型的情况,Overlay Mixer使用三个Input pin:Pin 0输入主视频数据,Pin 1和Pin 2输入sub-picture数据和line-21数据。Overlay Mixer在内部根据Pin 0输入的数据来创建Overlay表面。Overlay Mixer向上一般连接的是Video Decoder。如果这是个Software decoder,则Pin 0上的数据传输使用标准的IMemInputPin接口;如果使用了硬件加速,则Pin 0上必须使用IAMVideoAccelerator接口。(注意这两种接口是不能同时使用的!)如果上一级Filter是硬件解码器的包装Filter,使用VP pin输出,则解码器与Overlay Mixer使用IVPConfig和IVPNotify接口对通讯,以协调工作。Overlay Mixer不支持1394或USB接口的采集设备。Overlay Mixer向下一般连的是Video Renderer。这时Video Renderer只是一个视频窗口管理器。两个Filter通过IOverlay和IOverlayNotify接口对进行通讯,以协调工作。(Video Renderer的Input pin有两种连接方式:VR直接做图像显示时,则使用IMemInputPin接口接收视频流数据;Overlay Mixer做图像显示时,则VR使用IOverlay接口与上一级Filter进行通讯,Overlay Mixer与VR之间没有视频数据的传输。注意这两种接口是不会同时使用的!)

大家看到了,其实Video Renderer与Overlay Mixer有一部分功能是重复的。Video Renderer是最早设计的,设计之初,很多应用情况没有考虑进去;于是,就用Overlay Mixer来“打补丁”。现在,我们为什么不把两部分功能整合一下呢?微软也正是这么做了!在Windows XP(家庭版和专业版)中,新出现了一个Filter(注册的名字也叫“Video Renderer”,但两个Filter的CLSID是不同的,Merit值也不一样),替代了原来默认的Video Renderer。这个新的Filter,称之为Video Mixing Renderer Filter 7 (VMR-7),因为它内部使用了DirectDraw 7的技术。可以这么说,VMR是Windows平台上新一代的Video Renderer。值得注意的是,这个Filter仅在Windows XP里集成,在其他任何DirectX发布包里都得不到这个Filter。VMR-7的大致功能如下:支持最多16路输入流的alpha混合;支持在合成图像显示之前得到对其访问权;支持插入第三方开发的Video Effects和Transitions组件功能等等。还有,VMR连接时不要求RGB的Media type,因为它任何情况下都不会使用GDI函数来画图。

随着DirectX 9的发布,又会出现一个新的Video Renderer,称之为VMR-9。这个Filter使用了Direct3D 9的技术。VMR-9与VMR-7是两个不同的Filter。VMR-9的性能更加强劲。值得注意的是,为了保持向下兼容,VMR-9的Merit值并不高,它不作为系统默认的Video Renderer;如果你的应用程序只需要很少的视频显示控制,建议还是使用各自平台默认的Video Renderer。
引用

lean@2003-12-31 15:20

可以使用vmr的播放器有Zoom Player,mpc,NVDVD,当然还有Windows Media Player(XP以上),但可以使用vmr播放rmvb的只有 mpc !
引用

filse@2003-12-31 20:53

其实解码器都是一样的,不同的是功能的多少,占用系统资源的大小
引用

lean@2003-12-31 21:54

解码器是一个因素,但渲染方式也是很影响画面的

您试一下在Linux 下面用Mplayer放一下avi,fullsreen看看?

锯齿明显到吓死你.

注明:Mplayer是调用win32的dll和ax解码的,也就是说解码器和windows用的是一样的.

当然,1x 实际大小输出时,相同的解码器输出的画面应该是一样的...但,一般人看片子都是fullscreen的吧?

如果画面都一样的话,微软也没必要开发新的渲染方式啊!用最古老的GDI方式输出不久行了?
引用

leon666@2004-01-01 13:35

好深奧^^b

那究竟Video Renderer和Overlay Mixer我要選哪一個呢
引用

lean@2004-01-01 23:19

要画面好当然要用 vmr7 or vmr9 啦 !~~
引用

croissant@2004-01-02 00:49

晕了
闪先
我还是喜欢用pp的realone
引用

D-3@2004-01-02 01:24

我觉得是WMP好一点啊
引用

| TOP