常见几种视频渲染模式介绍

1、.视频覆盖:
  大概在1995年,当mpeg1(VCD)回放在PC上开始流行的时候,pc的处理能力还么有强大到实时播放的地步。显卡制造厂商适时的推出了"video overlay(视频覆盖)"的技术。它就是种在显卡上用硬件完成同时显示几个视频的功能(拉伸,颜色空间变换,等等...)的技术,这样就可以在pc上流畅的播放动画而不占用cpu。视频覆盖的画面质量事实上取决于显卡硬件。我发现市面上的绝大部分的显卡显示视频覆盖质量都很不行。在视频覆盖上用视频渲染技术的一个最大的关键就是在每个显卡上只有一个视频覆盖 unit(单元). 这样就迫切的需要多显示器系统了。

2、Direct3D:
  Direct3D是微软提供给程序员使用一个不断进化的功能集合的DirectX库的一部分。在新发布的direct9 中,微软给出了一套新的功能,性能接近于覆盖 surface(接口),但是没那么多限制。视频渲染技术基于direct3d比视频覆盖提供了更好的图像质量,还没有视频覆盖单显示器的麻烦。但是,不是所有的显卡都支持这个技术,还有一些根本不支持,很多不支持整套功能集。作为一个一般的参考。

3、系统默认渲染器:
  当播放器用默认回放模式播放媒体文件的时候,在低于windows xp的所有windows系统上或者windowsxp的"vmr7", 用系统默认渲染器就意味着"标准覆盖" 。

4、标准覆盖渲染器:
  这是最老的视频渲染技术了。在可用的时候它用到视频覆盖,当视频不可用的时候就退回到纯cpu控制视频。纯cpu控制就是说cpu替代了视频覆盖来干这些事情。这对回放是个沉重的打击(cpu更辛苦了),这个渲染的缺点是它不支持固定屏幕高宽比控制,硬件颜色控制(色调/饱和度/亮度/对比度/gamma(灰度))不可操作,而且抓图结果会很很奇怪。

5、覆盖混合渲染:
  同样是运用视频覆盖技术,这个渲染器允许在那些支持颜色控制的硬件上进行颜色控制(色调/饱和度/亮度/对比度/gamma)。有些卡可能只支持颜色控制的一个子集(比如只有亮度)。这个渲染器也支持固定宽高比控制,只要媒体文件支持这个渲染器,缺点就是它返回到纯cpu控制。当视频覆盖不可操作时,它就罢工了。在媒体模式的这个情况时候,就会回到标准覆盖渲染。在dvd模式时,会报错说视频解码器不能连接到覆盖混合器。最后,这个渲染技术还是抓图的效果不够好。

6、视频混合渲染器7(vmr7):
  这个渲染器是视频覆盖技术和direct3d技术的结合,它只在windows xp上有效,后来被vmr9取代了。windows media player 7-10使用这个技术.这个渲染技术默认使用视频覆盖。然而,如果它不可用了,它可以有限的使用direct3d。它的缺点是不可进行颜色控制,截屏还是不够好。

7、视频混合渲染器9(vmr9):
  这是最新的视频渲染技术。它完全建筑在direct3d上,需要direct9和最新的硬件。它可以提供最好的画质(取决于渲染模式和显卡)。vmr9支持硬件颜色操作(如果卡支持),但是没有gamma控制,因为ms没有提供。 vmr9也有宽高比控制。

8、EVR增强渲染模式(vista系统):
  Vista新引入了全新的EVR渲染器,微软的技术文档倒是把这个东东吹得很强劲,但是就目前来说问题还是不少。第一个就是字幕的问题,目前用EVR是无法在高速或者急速模式下把字幕显示出来。那个EVR C/A 倒是能够显示字幕,不过dxva2.0就会失效,换句话说就无法开启geforce8显卡的硬件解码功能。还有一个问题就是色阶或者黑位问题,这个问题在VMR9下可以通过shader得到完美的解决方案,现在到了EVR,色阶问题目前可以说几乎毫无办法,最多能用一下coreavc的fix color功能解决一下,但是还是有相当大的局限性。

另:VMR9支持3种特别的渲染模式:
A.vmr9:窗口:
  这种是最基本的模式,它向后兼容,但不支持帧抓屏,要提醒一点,这个模式在windows sp1和directx9b下有bug,在dvd菜单导航时只能用这个模式了。在windowsxp sp2和direct9c下这个bug没了。
B.wmr9:窗口无转换:
  这个模式比窗口模式高级点,用来截图是最好的。
C.wmr9:渲染无转换:
  这个可是vmr9中最复杂的渲染模式,它可以工作在direct3d独占模式,那就是整个机器被设定为全屏,其他运行的程序不可以操作视频硬件,在这个独占模式下,所耗cpu更少,分辨率越高,回放就更平滑。缺点是在独占模式下,整个机器都献身给视频回放了,你不能干其他任何事情了。

时间: 2024-10-04 00:11:41

常见几种视频渲染模式介绍的相关文章

朱翊:云视频分享模式有效缓解站长的运营成本

之前和一个业内朋友谈论草根网站的时候,突然想到一个问题,在草根站长越来越有趋势地成为互联网的中坚力量的时候,无数基于草根群体而开设的CMS.BBS.Blog等产品竞相诞生.但在草根群体风靡互联网的这两三年时间中,却很少见到专为草根群体推出的视频分享建站工具,曾经有社区软件开发商倒是推出过相关软件,但昙花一现的结果也并未给草根群体掀起新的波澜. 直到后来请教了一个业内老师的时候,才明白这个问题的关键. 成本问题和 版权问题.以及工信部问题是导致出现这个现象的根本原因.原来在当前的互联网领域中,互联

js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)_javascript技巧

在上篇文章给大家介绍了javascript面向对象基础,本篇文章继续深入学习javascript面向对象,JS的语法非常灵活,简单的对象创建就有好几种不同的方法.这些过于灵活的地方有时候确实很让人迷惑,那么今天我们就来梳理一下JS中常用的创建对象的几种方法吧. 前言 虽然使用 Object构造函数 或者使用 对象字面量 可以很方便的用来创建一个对象,但这种方式有一个明显的缺点:使用一个接口创建多个对象会产生很多冗余的代码.因此为了解决这个问题,人们开始使用以下几种方式来常见对象. 工厂模式 该模

实例分析两种常见的软文创作模式

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 软文是一种最常见且行之有效的推广模式,软文之所以被称为软文,其特点就在于"软"字,就好比是绵里藏针,藏而不漏,当你阅读一篇成功的软文时,你可能都不知道已经深陷在"软文广告"中.假如我们将硬性广告比作是外家拳的话,那么软文就是内家拳,绵里藏针,软硬兼施.内外兼修.但是写软文也并非是顺风顺水的,很多站长都可

几种常用的设计模式介绍(转)

   几种常用的设计模式介绍 1.    设计模式的起源 最早提出"设计模式"概念的是建筑设计大师亚力山大Alexander.在1970年他的<建筑的永恒之道>里描述了投计模式的发现,因为它已经存在了千百年之久,而现代才被通过大量的研究而被发现. 在<建筑的永恒之道>里这样描述:模式是一条由三个部分组成的通用规则:它表示了一个特定环境.一类问题和一个解决方案之间的关系.每一个模式描述了一个不断重复发生的问题,以及该问题解决方案的核心设计.   在他的另一本书&l

Java经典设计模式之十一种行为型模式(附实例和详解)

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 目录(?)[+] Java经典设计模式共有21中,分为三大类:创建型模式(5种).结构型模式(7种)和行为型模式(11种). 本文主要讲行为型模式,创建型模式和结构型模式可以看博主的另外两篇文章:Java经典设计模式之五大创建型模式(附实例和详解). Java经典设计模式之七大结构型模式(附实例和详解). 行为型模式细分为如下11种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式

电子商务是一种新型商务模式

王刊良中国人民大学商学院管理科学与工程系主任.教授.博士生导师 通讯员 严颜 商报记者 楼安娜 电子商务作为一种新型商务模式,集物流.商流.信息流与资金流于一体,以其快速.便捷.高效的特点备受商界青睐.近年来,在全球范围内,电子商务已成为新的经济增长点和关注点.4月21日,浙江大学EMBA精品讲座邀请了在电子商务领域有深入研究和探讨的王刊良教授主讲"电子商务模式及其创新".王刊良教授在讲座上介绍了当前电子商务发展的概况和重要性,并结合大量生动的案例介绍了电子商务新的竞争规则.技术发展趋

Flixlab:借力云计算加速iPhone视频渲染输出

北京时间7月25日消息,<移动新发现>今日报道,苹果iPhone上运行各种软件速度都很快,但是有一种应用却是"慢如蜗牛"--视频输出.最近,美国一家公司推出了一种借助云计算加快视频输出的应用软件Flixlab. 视频渲染和输出,即使是在台式机上也是一件费时费力的工作.之前,iPhone用户可以使用苹果的iMovie软件来编辑和输出视频,据悉,渲染和输出每一分钟的手机视频,需耗时两分钟.显然用户体验并不理想. 最近美国Flixlab公司推出一款手机软件,它将把用户需要渲染和输

Java语言结构性模式之变压器模式介绍

什么是结构性模式 结构性模式描述类和对象怎样结合在一起成为较大的结构. 结构性模式描述两种不同的东西:类与类的实例.根据它们所描述的东西的不同, 结构性模式可以分为类结构模式和实例结构模式两种. 类结构模式使用继承(inheritance)来把类,接口等组合在一起,形成更大的结构. 当一个类从父类继承,并实现某接口时,这个新的类就把父类的结构和接口的结构结合起来. 类结构模式是静态的.一个类结构模式的典型的例子,就是类形式的变压器模式. 实例结构模式描述各种不同类型的把对象组合在一起,实现新的功

Java语言简单工厂创立性模式介绍

研究和使用创立性模式的必要性 面向对象的设计的目的之一,就是把责任进行划分,以分派给不同的对象.我们推荐这种划分责任的作法, 是因为它和封装(Encapsulation)和分派(Delegation)的精神是相符合的.创立性模式把对象的创立过程封装起来,使得创立实例的责任与使用实例的责任分割开, 并由专门的模块分管实例的创立,而系统在宏观上不再依赖于对象创立过程的细节. 所有面向对象的语言都有固定的创立对象的办法.Java语的办法就是使用new操作符.比如 StringBuffer s = ne