基于Directshow的视频缩放

时间:2024-04-19 点赞:44806 浏览:85955 作者原创标记本站原创

此文是一篇缩放论文范文,关于缩放论文范文素材,与基于Directshow的视频缩放相关专升本毕业论文开题报告。适合不知如何写缩放及视频及接口方面的专业大学硕士和本科毕业论文以及缩放类开题报告范文和职称论文的作为写作参考文献资料下载。

[中图分类号]F224.39 [文献标识码]A [文章编号]1672-5158(2013)06-0045-01

引言

在日常学习工作中经常会对各种视频文件进行分析,比如视频的剪切、缩放等,但是对于这些操作可能会用到专业的视频分析卡等硬件的支持.针对硬件价值较高,微软提供了一套基于COM的流媒体处理开发包

DirectShow.在DirectShow中提供了完整的视频分析处理接口DES,负责对各类视频进行分析处理.

通过DES、Filter Graph可以对视频进行缩放处理,使视频的缩放脱离硬件的直接支持,适合于个人PC机上的视频处理.本文主要分析了3中视频缩放的方法,通过这些方法可以进一步加快视频缩放的速度和效率.

1.Directshow简介

利用Directshow对视频进行缩放处理,必须对Directshow的架构,DES(Directshow Editing Services)以及Filter Graph Manager等知识有所了解.

1.1 Directshow的体系结构

Directshow本质上就是基于COM组建的流媒体开发包,它为我们用户提供了一整套完整的视频处理接口.该体系结构大致可分为3层:用户应用层、Directshow接口层、底部设备层.

1.2 Filter以及Filter Graph Manager

Filter其实就是一种叫做过滤器的COM组件,一共有三种类型的Filter:Source Filter、Tranorill Filter、Rendering Filter.它们都包含一个或多个Pin,Source Filter负责视频的采集,输入等;Tranorm Filter负责对视频进行格式转换、传输等;Rendering Filter负责视频文件的渲染,输出.

由于每一个Filter都有Pin针,我们可以根据不同的任务、需求,将各种Filter利用Pin针连接起来,就构成了一个Filter Graph.Filter Graph的构建都是有Filter Graph Manager管理的,每一个Filter Graph MaRager都对所有的Filter有所了解(Filter必须在该电脑上进行注册).并且,它能通过命令与事件的方式与用应层进行交流,应用层也可以更加方便的对Directshow的各种接口进行处理.


1.3 非线性编辑(DES)

DES是一套基于Directshow核心框架的编程接口,它的目的是为了简化视频编辑任务,弥补Directshow对于媒体文件的非线性编辑支持的不足之处.其实,DES并没有超越Directshow Filter架构,只是在它之上的一层增强应用.

2.视频缩放分析

有了以上的几个Directshow基本知识后,我们就可以有以下几种视频的缩放方法.

2.1 Filter Graph Manager的视频缩放

我们知道Filter Graph Manager可以建立并控制Filter Graph.它是学习Directshow的核心,为了方便我们更加方便的操作,Directshow为我们提供了一整套完善的接口,通过实现这些接口我们可以完成我们想要的工作.

我们想要实现视频的缩放,可以通过FiRer Graph Manager中的IVideo Window接口来实现.IvideoWindow可以设置视频窗口的各种属性,当用户改变视频的大小的时候,操作系统以命令的方式发送给应用程序,应用程序可以调用IvideoWindow的put Height(long Height)和put_Width((long Width)改变大小.但是这种改变视频大小的方法只是单纯的改变面积并没有涉及对图像的算法剪切,因此在改变大小的过程中可能出现图像的失真等状况,下面的这种方法可以对图像进行设计.

2.2 DES的视频缩放

要利用DES对视频进行处理,首先必须要知道DES的内部结构模型如下图:

2.3 Resize Filter的视频缩放

除了在进行非线性编辑的时候在组上进行视频大小的设置之外,还有另外一种方法可以进行视频的缩放控制,这便是通过第三方的视频图像缩放Filter来控制视频的缩放.一般的DES创建的视频解码链路如下图:

在DES中默认的使用的是微软公司的Resize Filter,它采用的是简单拉伸的图像算法,使用该Filter之后可能引起视频图像的质量损坏.由此,我们可以采用第三方的Filter或是自己自己所需要的视频缩放Filter.一般的Resize Filter都是一个Tranorm Filter,因此我们在Filter的时候必须要继承CtranorinFilter这个父类,对于CtranonnFilter的子类我们必须要重载以下五个纯虚函数:CheckInputType、CheckTranorm、DecideBufferSize、GetMediaType、Tranorm.通过CheckInputType来检查本Filter的输入媒体是否合法,CheckTranorm来检查开发的filter的输出是否和合法,通过GetMediaType来获取该输出端口支持的媒体格式供下游filter的枚举,通过DecideBufferSize来确定buffer的数量和大小.而上游Filter传过来的sample,我们可以继承CTranormFilter::Tranorm方法来处理该sample的相关数据.大体流程如下:

3.结束语

在日常生活中各种我们可以获得各种视频资源,它们作为一种信息的传播载体在信息的传播中发挥了越来越重要的作用,但是不能否认的是从视频资源中获取我们所需的信息需要更多的时间更多的心思,因此个人视频编辑越来越重要,如何将手中的视频资源进行编辑(剪切,缩放等)就越来越重要.本文中提出的3种基于Directshow的视频缩放的处理方案基本上可以解决日常个人视频缩放处理所需,当然论文中也有很多不足之处,尤其是自己Filter中视频缩放的算法只是一种高效的算法,可能还有更多更高效的算法,因此对于视频缩放的方法还有待优化和提高,作者也将继续研究更加高效的方法以实现真正的适合于个人PC机上的视频处理方案.

相关论文

基于H.264编***技术的视频网络传输

本文关于多媒体及网络技术及计算机方面的免费优秀学术论文范文,关于多媒体论文范文集,与基于H 264编解码技术的视频网络传输相关毕业论文题。

MATLAB实现图形交互式缩放方法

关于图形及数据及缩放方面的免费优秀学术论文范文,关于图形方面论文注释格式,关于MATLAB实现图形交互式缩放方法相关论文范文集,对写作图。

高校图书馆入馆教育视频的实现与

该文是论文格式专业图书馆论文范文,主要论述了图书馆类硕士学位论文,与高校图书馆入馆教育视频的实现与相关论文范文资料,适合图书馆及视。

视频营销继续火热

本文是一篇广告营销论文范文,关于广告营销相关毕业论文的格式,关于视频营销继续火热相关毕业论文范文。适合广告营销及互联网及多媒体方面的。

元洲装饰:“将爱”80后视频营销

为您写广告毕业论文和职称论文提供广告类有关毕业论文模板范文,与元洲装饰:“将爱”80后视频营销相关论文范文素材,包括关于广告及电影及专。

腾讯多触点整合视频互动营销

本论文为关于互联网方面营销心理学论文,关于腾讯多触点整合视频互动营销相关硕士论文开题报告,可用于互联网论文写作研究的大学硕士与本科。

公共图书馆缩微文献数字化

为您写图书馆毕业论文和职称论文提供关于图书馆方面毕业论文格式范文,与公共图书馆缩微文献数字化相关论文例文,包括关于图书馆及缩微及数据。

wps文档怎么设置参考文献的悬浮缩进

本文是一篇参考文献论文范文,参考文献方面毕业论文题目,关于wps文档怎么设置参考文献的悬浮缩进相关研究生毕业论文开题报告范文。适合参考。