999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Directshow的視頻縮放分析研究

2013-09-30 06:39:40俞俊杰魏振鋼
中國信息化·學術版 2013年6期
關鍵詞:分析方法

俞俊杰 魏振鋼

[中圖分類號]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、Transforill Filter、Rendering Filter。它們都包含一個或多個Pin,Source Filter負責視頻的采集,輸入等;Transform 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都是一個Transform Filter,因此我們在定制Filter的時候必須要繼承CtransforinFilter這個父類,對于CtransfonnFilter的子類我們必須要重載以下五個純虛函數:CheckInputType、CheckTransform、DecideBufferSize、GetMediaType、Transform。通過CheckInputType來檢查本Filter的輸入媒體是否合法,CheckTransform來檢查開發的filter的輸出是否和合法,通過GetMediaType來獲取該輸出端口支持的媒體格式供下游filter的枚舉,通過DecideBufferSize來確定buffer的數量和大小。而上游Filter傳過來的sample,我們可以繼承CTransformFilter::Transform方法來處理該sample的相關數據。大體流程如下:

3 結束語

在日常生活中各種我們可以獲得各種視頻資源,它們作為一種信息的傳播載體在信息的傳播中發揮了越來越重要的作用,但是不能否認的是從視頻資源中獲取我們所需的信息需要更多的時間更多的心思,因此個人視頻編輯越來越重要,如何將手中的視頻資源進行編輯(剪切,縮放等)就越來越重要。本文中提出的3種基于Directshow的視頻縮放的處理方案基本上可以解決日常個人視頻縮放處理所需,當然論文中也有很多不足之處,尤其是自己定制Filter中視頻縮放的算法只是一種高效的算法,可能還有更多更高效的算法,因此對于視頻縮放的方法還有待優化和提高,作者也將繼續研究更加高效的方法以實現真正的適合于個人PC機上的視頻處理方案。

猜你喜歡
分析方法
隱蔽失效適航要求符合性驗證分析
學習方法
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
電力系統及其自動化發展趨勢分析
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
中西醫結合治療抑郁癥100例分析
在線教育與MOOC的比較分析
主站蜘蛛池模板: 国产日韩欧美一区二区三区在线| 国产免费好大好硬视频| 色综合综合网| 在线精品欧美日韩| 国产第一页屁屁影院| 激情网址在线观看| 一级黄色片网| 波多野结衣二区| 国产区网址| 91小视频在线| 国内精品久久九九国产精品| 久久精品人人做人人综合试看| 免费在线播放毛片| 天天综合色天天综合网| 精品综合久久久久久97超人该| 成人免费午间影院在线观看| 在线观看免费AV网| 男人天堂亚洲天堂| Aⅴ无码专区在线观看| 91精品视频在线播放| 国产极品嫩模在线观看91| 黄片在线永久| 欧美在线一二区| 97se亚洲综合| 国模沟沟一区二区三区| 久久福利片| 国产精品网址在线观看你懂的| 又黄又爽视频好爽视频| 免费高清毛片| 特级毛片免费视频| 欧美成人精品高清在线下载| 色天天综合| 中文天堂在线视频| 欧美性天天| 丁香五月亚洲综合在线| 国内精品免费| 久久精品66| 亚洲精品国产成人7777| 国产理论一区| 日本一区中文字幕最新在线| 九色视频线上播放| 伊人久久婷婷| 午夜综合网| 中文纯内无码H| 国产69精品久久久久孕妇大杂乱 | 九色在线观看视频| 免费人成在线观看视频色| 亚洲人免费视频| 国产日韩AV高潮在线| 久久精品亚洲专区| 91久久精品国产| 区国产精品搜索视频| 999在线免费视频| 青青热久免费精品视频6| 国产精品夜夜嗨视频免费视频| 免费一级无码在线网站| 特级毛片8级毛片免费观看| 77777亚洲午夜久久多人| 免费观看精品视频999| 国产精品无码AV片在线观看播放| 国产精品尤物铁牛tv| 国产一区二区三区免费观看| 国产一区二区三区在线观看视频 | 狠狠亚洲婷婷综合色香| 亚洲精品制服丝袜二区| 日韩av无码精品专区| 91无码人妻精品一区二区蜜桃 | 国产精欧美一区二区三区| 日本欧美成人免费| 国产网站免费看| 丁香综合在线| AV不卡在线永久免费观看| 国产在线观看人成激情视频| 亚洲欧美自拍视频| 激情综合网激情综合| 欧美成人怡春院在线激情| 精品综合久久久久久97超人| 亚洲综合片| 久青草免费在线视频| 国产三级国产精品国产普男人| 18禁不卡免费网站| 欧美日韩亚洲综合在线观看|