基于 DirectShow 和 WPF 的实时视频图像采集与处理系统设计与实现
基于DirectShow视频帧实时捕捉的设计与实现
基于DirectShow视频帧实时捕捉的设计与实现朱尹华;周尚波;王兴星;谢磊;周庆【期刊名称】《计算机应用与软件》【年(卷),期】2011(028)001【摘要】In this paper, we present a solution to resolve the" black screen" problem occurred in software system such as distance education, etc. Firstly, we implement the video-frames real-time capturing from video stream of multimedia files by using DirectShow technology to deal with multimedia files or video stream in multimedia stream. Then, the GDI function of Windows is invoked to render the image frames,which are captured by the DirectShow. Finally, according to the standard of MPEG2 a file is composed in AVI video format which is able to replay real-timely.%主要针对远程教育等软件系统中现存的"黑屏"问题提出一种解决方案.运用DirectShow技术对多媒体文件或多媒体流中的视频流进行处理,实现从多媒体文件视频流中进行视频帧的实时捕获,而后调用Windows中GDI函数对获取的图像帧进行渲染,最后按照MPEG2标准合成AVI视频文件并可以实时重放.【总页数】5页(P35-38,40)【作者】朱尹华;周尚波;王兴星;谢磊;周庆【作者单位】重庆大学计算机学院,重庆,400030;重庆大学计算机学院,重庆,400030;重庆大学计算机学院,重庆,400030;重庆大学计算机学院,重庆,400030;重庆大学计算机学院,重庆,400030【正文语种】中文【相关文献】1.基于DirectShow技术的视频帧捕捉方法 [J], 余婷;管庶安2.基于DirectShow技术视频流捕捉及压缩的实现方案 [J], 华畯;杨树堂;李建华3.基于 DirectShow 和 WPF 的实时视频图像采集与处理系统设计与实现 [J], 武凤翔4.基于USB2.0的数字图像视频流的实时捕捉与显示系统的设计与实现 [J], 徐大诚;邵雷;李培光5.利用DirectShow技术实时捕捉视频流中的图像帧 [J], 胡涛;刘睿;张志刚因版权原因,仅展示原文概要,查看原文内容请购买。
基于DirectShow和WPF的实时视频图像采集与处理系统设计与实现
2 0 1 5年 3月
计 算机应 用 与软件
Co mp u t e r Ap p l i c a t i o ns a n d S o f t wa r e
Vo 1 . 32 No. 3
Ma r .2 01 5
基于 D i r e c t S h o w和 WP F的 实 时视 频 图像 采集 与 处 理 系统 设 计 与 实 现
武 凤 翔
( 河南水利与环境职业技术学院 河南 郑 州 4 5 0 0 1 1 )
摘 要
当前视频 图像 的主要问题 是 当处理 的数据量 大 时, 执行效 率低 , 很 难实现 实时性。采用 D i r e c t S h o w技 术, 很 好地解 决 了
这个 问题 。基 于 D i r e c t S h o w可直接对 内存 中的视频数据进行处理 , 从而跨越硬盘 数据读取 的瓶颈。设 计 了以 D i r e c t S h o w和 WP F为 软件平 台的实时视频 图像采集 系统, 包括 : 视频 图像采集 与显示模块 、图像 浏览与处理模 块 、图像存储 与管理模块 。实验结果表 明 该方法应用在 实时视频 图像采集 上可以达 到较好 的效果 , 在工程上应用是可行 的。 关键 词 中图分类号 D i r e c t S h o w WP F 图像采 集 图像处理 图像管理 T P 3 9 1 文献标识码 A D O I : 1 0 . 3 9 6 9 / j . i s s n . 1 0 0 0 — 3 8 6 x . 2 0 1 5 . 0 3 . MP L E ME NT AT I oN oF RE A L- T I ME VI DE o I MA GE A CQU I S I T I oN
基于DirectShow视频帧实时捕捉的设计与实现
21 0 1年 1月
计 算机 应 用与软 件
Co u e p i ai n n o t r mp t rAp lc to sa d S f wa e
Vo. 8 No 1 12 .
J n. 01l a 2
基 于 Di cS o 视 频 帧 实 时 捕 捉 的设 计 与 实 现 r th w e
t ea t li d afl so ie te m n li di te m . o d lwih mu tme i e rvd o sr a i mu tme a sra The t i n,heGDIf c in o i d wsi nv ke o r nd rt ma e fa s, un to fW n o si o d t e e hei g r me
CAPTURI NG BAS ED oN RECTS DI Ho W
Z uY n u Z o h n b Wa gX n x g X eL i Z o ig h ih a h uS a g o n igi i e n h uQ n
( ol efC m ue c ne C og igU i rt,h nqn 0 0 0,hn ) C lg o p t Si c ,h nqn nv sy C og ig4 0 3 C ia e o r e ei
染 , 后 按 照 MP G 最 E 2标 准 合 成 A I 频 文 件 并 可 以实 时重 放 。 V视 关键词 Drc hw技 术 i to eS A I MP G 多媒 体 流 V E2
DES GNI I NG AND M PLEM ENTI I NG REAL. M E DEo TI VI FRAM E
件 视 频 流 得 到 的 视 频 帧 是 黑 色 的 , 黑 屏 问 题 ; 何 设 计 抓 即 如
基于DirectShow的视频监控采集系统
能 :视频 采集模块完成将视频 采集设 备获取 的视频数
据 存 人 指 定 的文 件 存 储 设 备 中 , 图 2所 示 。 如
视频监控采集 系统就是人们利用视觉来获取信 息的一
种通信方式 , 较 之其他信息传递方式具有 内容丰富 、 它 直 观 及 方 便 等 特 点 所 以 . 频 采 集 系 统 被 广 泛 应 用 于 视 金融 、 通 、 院 、 交 医 电力 、 关 、 防 乃 至 住 宅 社 区等 领 海 国
@ 现 计 机 21. 代 算 008 o
系统运行流程为 : ( ) 建 一个 Fl rG a hMa a e 组 件 ; 1创 ie rp n g r t
( 频 采 集 设 备 的 C SD 为 C SD Vi e I p t vc . 视 LI LI d o n u De ie
2 软 件 设 计
21 系统 流 程 .
系统是在 Vsa C +6 i l + . u 0环境下 . 利用 面 向对象编
程方 法 设 计 开 发 的 。
作 者 简介 : f  ̄
(93 ) 男 , 建 福 州人 , 理 实 验 师 , 18 一 , 福 助 工程 硕 士 , 究 方 向 为 软件 设 计 与 软 件 工 程 研
一
r] - 审口 _
— —
1 . ......... . . ...... . . . .
监控采集 系统
UB s
—— 文件存储设备
域 。设计 开发一套视频监控采集 系统 具有很强 的市场
价 值
图 1 系 统 硬件 架 构
1 总体 设 计
11 设 计 思路 . 系统 的总体设计 目标就是构建一个高质 量 、可靠 性好 、 控制灵活 和易于扩展架构 的视频监控采集 系统 。
基于DirectShow的视频图像处理系统设计与实现
关键词
Dr thw 图像处理 视频 图像 i cSo e
T 9 17 N 1 .3
中图 分 类 号
De i n a m p e e a i fVi o I a e Pr c s i y t m a e n Die t sg nd I l m nt ton o de m g o e sng S s e b s d o r cSho w
研究 , 当前主要的研究 内容是视频图像的实时性处 理及 相关 的 图像 识 别 问题 。然 而 图像 识 别 及 图像 的其 它处理 算法 都 必 须 首 先 从视 频 序 列 中实 时 的
捕 捉 出需 要 的各帧 图像 , 然后 才 能对 图像进行 运 动 目标检测 、 征提取 、 式识 别等 操作 。 特 模
三种 基本 类 型 , 源过 滤 器 (oreFl r 、 换 过 滤 Suc ie)变 t
器 ( r s r ie) 渲 染 过 滤 器 ( e d r gFl T a f m Fl r 及 no t R n ei i n —
编程 接 口。它给 出 了 一种 全 新 的多 媒 体 数据 处 理 模型 , 并封装 了采 集 、 压缩 和解 压缩 等一 系列算 法 , 为视 频监控 、 频会议 等 多媒体 应 用 系统 的开 发提 视
洛 阳 4 10 ) ( 州 大 学 物 理 工 程 学 院 郑 州 7 03 郑 ’ 405 ) 50 2
( 口师 范学 院” 周 口 4 60 ) 周 60 0
摘
过程。
要
文章对 Dr thw技术作 了概括介绍 , i cSo e 并给 出了一种 通用 的视 频 图像处理 系统 的 Drc hw应 用软 件实 现 i to eS
D re hw就是 一种 基 于 C M 技 术 的 多媒 体 i to eS O
基于DirectShow视频及图片捕获软件的开发
我们知道目前很多工业相机的图像数据采集都是基于DirectShow的,常见的有映美精等。
DirectShow是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与DirectX开发包一起发布。
DirectShow为多媒体流的捕捉和回放提供了强有力的支持。
运用DirectShow,我们可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。
它广泛地支持各种媒体格式,包括Asf、Mpeg、Avi、Dv、Mp3、Wave等等,使得多媒体数据的回放变得轻而易举。
另外,DirectShow还集成了DirectX其它部分(比如DirectDraw、DirectSound)的技术,直接支持DVD的播放,视频的非线性编辑,以及与数字摄像机的数据交换。
更值得一提的是,DirectShow提供的是一种开放式的开发环境,我们可以根据自己的需要定制自己的组件。
笔者使用visual studio 2005 来开发了基于DirectShow的视频捕获软件,并用开发的软件对映美精相机进行了测试。
本软件不但可以实现对相机的视频捕获,而且还可以抓取图像帧。
软件运行时自动搜索所连接的相机,预览后可以对相机参数进行设置。
下面是软件的主界面。
预览视频后可以对视频格式和图像参数进行设置。
开始预览时,捕获的视频是黑白的,我们将颜色空间设置为UYVY即可捕获彩色视频。
下面是捕获的一帧图像,图像质量虽然没有映美精自带的软件效果好,但已经实现了所需各项基本功能,接下来的工作将会进一步提高软件性能。
另外我们还可以捕获视频,点击“捕获视频”按钮,输入要保持的文件名,注意要以.avi后缀结尾,点确定就开始捕获视频。
从我们开发的软件可以看到,映美精的相机能够很好的支持DirectShow的驱动,我们的软件对映美精相机的识别是如此的容易。
接下来我们将继续开发基于其它驱动的图像捕获软件,为最终实现在一个软件中识别各种相机而努力。
基于DirectShow平台的流媒体教学系统的构建与研究的开题报告
基于DirectShow平台的流媒体教学系统的构建与研究的开题报告一、题目基于DirectShow平台的流媒体教学系统的构建与研究二、研究背景与目的随着互联网技术的快速发展,流媒体技术成为了互联网传输内容的主流方式之一。
教育行业也逐渐将其应用于教学过程中。
流媒体教学系统具有即时、实时、互动性强等优点,能够有效地提高教学效率和教学质量。
本研究旨在基于DirectShow平台,结合流媒体技术构建一个成熟、稳定的流媒体教学系统,旨在使教学资源的传递更加高效、便捷、稳定,提高教学效果。
三、研究内容及技术路线本研究的技术路线如下:1.流媒体技术研究,包括:流媒体协议、流媒体传输、视频编码与解码等技术的研究;2.DirectShow平台的研究,包括:DirectShow操作流程、视频采集与处理等技术的研究;3.设计流媒体教学系统的架构与功能模块,包括:视频采集、编解码、流媒体传输、互动交流、数据存储等模块的设计和实现;4.系统性能优化和测试,包括:对系统进行性能测试,收集系统的各项指标数据,并通过优化提高系统的性能及用户体验。
四、研究意义本研究将能够提高教育行业人员在教学中利用流媒体技术的能力,设计并构建一个高效、稳定的流媒体教学系统,提高教学效率和教育质量。
同时,通过对流媒体技术和DirectShow平台的研究,可以推进相关技术的发展,填补相关领域的空白。
五、研究方法本研究主要采用文献调研、市场调查、实验研究和系统设计等方法,通过实验测试和数据分析,对系统进行性能优化和测试,最终得出结论和优化方案。
六、预期成果基于DirectShow平台的流媒体教学系统,并对其进行性能测试和优化。
七、研究进度安排第一年:1.研究流媒体技术;2.研究DirectShow平台;3.教学系统架构与模块设计。
第二年:1.系统功能模块的实现;2.系统性能优化和测试。
第三年:1.对系统进行性能测试和数据分析;2.撰写论文并提交答辩。
基于DirectShow的视频采集和传播系统
基于DirectShow的数字视频采集与传输系统内容摘要:本文简单介绍了DirectShow技术,研究了利用DirectShow实现视频采集、压缩和网络传输技术。
并利用第三方提供的编解码器实现了MPEG-4视频数据的网络传输系统,在该系统中利用RTP 协议进行视频数据传输,同时实现了远端帧率的控制。
1 引言近年来,随着国民经济的发展,社会各个部门对于视频监视系统的需求越来越多。
但目前的很多监视系统都跟具体的硬件相关,必须要具体的采集卡的支持才能实现。
所以有必要开发一种具有通用性的视频监视系统,用普通的摄像头就能实现视频的采集。
基于DirectShow的开发能很灵活地控制音视频的效果,所以选择DirectShow这种可扩展性好的技术做开发对以后的应用升级很有帮助。
此外,为了实现流媒体传输控制的策略,流媒体的传输和回放也是应解决的问题之一。
由Microsoft提供的DirectShow技术基于组件对象模型技术,支持宽松的格式变化,提供高品质的多媒体流回放。
利用它可以在普通微机中实现流媒体的客户端处理,并可以提高系统的通用性和可扩展性。
对于视频数据的传输,压缩率是一个必须考虑到的因素。
MPEG-4是由ISO和IEC的MPEG组制定的一个关于活动图像和声音的编码国际标准。
它在基于内容的交互性、压缩率、通用访问能力等方面提供了一系列新的或改进的功能。
MPEG-4视频在提供较好的图像质量的同时拥有较高的压缩率,适合于作为传输的图像压缩标准。
2相关技术2.1 DirectShow技术简介DirectShow是Microsoft为开发高性能多媒体应用而开发的底层应用程序接口(API),它是DirectX家族的核心成员之一。
DirectShow自身是通过一种系统内置的或程序员开发的过滤器(Filter)来控制和处理多媒体数据的体系结构。
该体系结构定义了如何处理和控制过滤器内部及相互之间的多媒体数据流。
每个过滤器都有输入或输出针(Pin), 或两者都有。
基于DirectShow的P2P网络视频采集、传输与播放系统(DOC)
软件技术课程设计实验报告(基于DirectShow的P2P网络视频采集、传输与播放系统)一.概述DirectShow是一个windows平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能。
它支持多种多样的媒体文件格式,包括ASF、MPEG、AVI、MP3和WAV文件。
同时DirectShow支持使用WDM驱动或早期的VFW驱动来进行多媒体流的采集。
DirectShow整合了其它的DirectX技术,能自动地侦测并使用可利用的音视频硬件加速,也能支持没有硬件加速的系统。
DirectShow大大简化了媒体回放、格式转换和采集工作。
但与此同时,它也为用户自定义的解决方案提供了底层流控制框架,从而使用户可以自行创建支持新的文件格式或其它用途的DirectShow组件。
DirectShow的主要功能是提供对多媒体流的捉捕与回放。
这种多媒体流既可以来自本地磁盘文件,也可以来自网络上的远程服务器。
也就是说,它提供了一种“在线播放”的功能,在远程数据尚未完全传输到本地机器上的同时,本地应用程序可不必等待数据完全传输完毕再进行播放,可以一边传输,一边播放。
这就为网络化的视频采集数据的实时解码显示提供一个方便的开发平台。
点对点技术(peer-to-peer,简称P2P)又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。
P2P网络通常用于通过连接来连接节点。
这类网络可以用于多种用途,各种文件共享软件已经得到了广泛的使用。
P2P技术也被使用在类似VoIP等实时媒体业务的数据通信中。
二.需求分析2.1 开发要求1.熟悉、掌握vs2010开发工具,以及DirectShow SDK9.0软件开发包。
2.熟悉了解Socket网络编程;3.开发基于DirectShow的应用软件,要求能够完成P2P的网络视频采集、视频传输、视频播放的功能。
4.基本功能:实现采集视频、传输视频、实现异地播放采集视频。
基于DirectShow的多摄像头视频采集
基于DirectShow的多摄像头视频采集1.为什么使用DirectShow笔者使用的是两个USB摄像头,单摄像头视频采集使用OpenCV的VideoCapture类没有问题,但是双摄像头就有问题,一个正常,另外一个采集不到信息,显示一片灰色。
网上有种解决方法是逆序打开摄像头,结果两个窗口是可以采集到视频信息,但是竟然是同一个摄像头的视频信息,无奈的只能使用DirectShow采集多摄像头视频信息。
先看看什么是DirectShow:DirectShow 是 DirectX 的组件之一, DirectX 软件开发包是 Microsoft 提供的一套在 Windows平台上开发高性能图形、声音、输入、输出和网络游戏的编程接口。
这其中,DirectShow提供了应用程序从适当的硬件中捕捉和预览音、视频的能力。
数据源包括: VCR、 Camera、 TV Tuner、 Microphone 或其他的数据源。
应用程序可以立刻显示捕捉的数据(预览),或是保存到一个文件中。
摄像头采集信息常用的软件AMCap就是基于DirectShow SDK编写的。
查阅一下官方文档,感觉好难的样子,难道要新学一门“快过时”的技术吗?幸好于仕琪老师写了一个CCameraDS类,可直接返回IplImage,使用方便。
2.在VS2010中配置DirectShow并采集双目摄像头视频下载DirectShow相关文件,我已经共享在百度云盘,点击下载。
解压以后copy到D:\opencv里(放在这里为了管理方便)在解决资源管理器中的项目名称处右键\属性\配置属性\VC++目录,引用目录中添加DirectShow的include文件夹,我添加的是D:\opencv\DirectShow\Include在引用目录下面有一个库目录,添加DirectShow的Lib文件夹,我添加的是D:\opencv\DirectShow\Lib;下载CCameraDS类相关文件,点击下载。
基于Windows的几种视频采集方法设计与实现
基于Windows的几种视频采集方法设计与实现作者:李钦存王春明段海龙来源:《硅谷》2008年第21期[摘要]分别介绍在Windows操作系统下的三种实时视频数据采集的方法,即基于VFW的实时视频采集,基于DirectShow的实时视频采集和基于视频卡附带软件开发工具箱(SDK)的实时视频采集,并给出实现的核心代码。
[关键词]视频采集 VFW DirectShow SDK中图分类号:TP391文献标识码:A 文章编号:1671-7597(2008)1110067-02随着计算机网络和多媒体计算的迅猛发展,许多应用系统,如可视电话系统、电视会议系统、远程监控系统等要求能够实时获取视频信息;同样,若想进行图像处理也必须进行视频流捕获和单帧图像采集。
因此,如何实时获取视频数据便成为应用中的重要环节和关键前提[2]。
一、基于VFW的实时视频数据采集VFW(Video For Windows)是Microsoft推出的关于数字视频的一个软件包,该软件包能使应用程序数字化并播放从传统模拟视频源得到的视频剪辑。
VFW的一个关键思想是播放时不需要专用硬件,为了解决数字视频数据量大的问题,需要对数据进行压缩。
软件包引进了一种叫AVI的文件标准,该标准未规定如何对视频进行捕获,压缩仅规定视频和音频该如何存储在硬盘上,在AVI文件中交替存储视频帧和与之相匹配的音频数据。
VFW给程序员提供VBX 和AVICap窗口类的高级编程工具,使程序员能通过发送消息或设置属性来捕获、播放和编辑视频剪辑。
Windows98以上系统都自动安装配置视频所需的组件,如设备驱动程序,视频压缩程序等[3]。
VFW主要由以下6个模块组成:AVICAP.DLL: 处理视频捕获,为AVI文件输入输出和视频、音频设备驱动程序提供一个编程接口。
MSVIDEO.DLL: 用DrawDib函数处理屏幕上的视频操作。
MCIAVI.DRV: 包含对VFW的MCI命令的解释器。
基于DirectShow的无线音视频采集与传输系统的研究
摘要:文中,针对基于3g无线网络的视频会议系统的应用,采用directshow架构,设计音视频数据的采集、编码、网络传输、解码及回放的解决方案,并根据rtp/rtcp协议原理,实现音视频的同步实时传输。在此基础上实现了无线音视频采集与传输系统。关键词:directshow音视频采集rtp/rtc实时传输中图分类号:tp391文献标识码:a文章编号:1007-9416(2011)12-0044-021、引言在信息时代,伴随着视频处理,数字信息存储技术的不断发展,视频会议系统越来越受到人们的青睐。近些年来,基于3g的无线视频会议系统在视频会议系统中更是倍受人们的关注。由于视频信号所包含的信息量大,传输网络所需的带宽也很大,因此需要对采集的视频进行压缩,然后通过网络进行实时传输。本文采用directshow实现音视频采集、压缩以及基于rtp/rtcp协议的无线网络传输,视频压缩采用h.264标准,rtp/rtcp保证音视频实时同步,以此实现无线视频会议系统。2、基本原理2.1 directshow技术directshow是microsoft为了能够简单、有效地进行流媒体处理而推出的一个基于windows平台的流媒体处理开发包。它对流媒体的捕捉、回放提供了强大的支持,使用它还可以在基于wdm(windows device modal)驱动的各种采集卡上进行数据捕捉。基于它的优点我们采用directshow进行视频采集。directshow主要由过滤器图表(filter graph)构成,过滤器图表中包含了各种filter,这些filter能够按一定顺序连接在一起,构成一条流水线,最后交由filter graph manager统一控制。过滤器根据功能不同分为三类[1]:(1)源过滤器(source filter),它引入数据到过滤器图表中,数据来源可以是文件、网络、照相机等。获取的数据传输至下一级过滤器。(2)变换过滤器(transform filters),主要负责数据的格式转换。(3)渲染过滤器(rendering filter),渲染过滤器在过滤器图表里处于最后一级,它们接收数据并把数据提交给外设。2.2视频采集的实现directshow采用wdm驱动模型进行视频捕捉。wdm是纯32位模型,对于不同的设备具有统一的结构,最重要的是directshow与wdm的紧密结合,在系统核心提供了基于wdm的驱动程序的过滤器和接口,大大提高了视频捕获的速度和质量。由于directshow对视频捕获、回放提供了强大的支持,大大增强了系统对不同硬件的通用性和适应性。因此,在directshow开发环境中,通过wdm视频采集过滤器(wdm video capture filter)可以非常简便地对基于wdm驱动的采集卡采集进来的视频数据进行捕捉。基于wdm的采集设备有很多种,本视频采集系统采用的是usb2.0摄像头。视频信号经摄像头进入计算机,然后系统的软件部分通过摄像头的驱动程序来采集视频数据。2.3 rtp(real-time transport protocol)/rtcp (real-time transfer control protocol)协议rtp网络实时传输协议专门用于网络传输多媒体数据流,将需要发送的多媒体数据块(音视频)经过压缩编码后,先送给rtp封装成为rtp分组,rtp分组再装入下层协议运输层的udp用户数据报,然后再向下传递给ip层[2]。rtp协议的设计目的是通过提供实时数据传输中的时间戳信息和分组序列号字段,使接收方通过检测接收到的分组序列号来判断是否有分组丢失,并重新恢复发送时的分组顺序,从而达到使各数据流同步的功能。rtcp是与rtp配合使用的协议,rtp只包含rtp数据,而控制是由另一个不可分割的配套使用的rtcp协议提供的。rtcp协议有以下三个主要功能:(1)监视并反馈rtcp的服务质量;(2)保证传输媒体间的同步性;(3)对多播组中的成员进行标志。rtcp分组同rtp分组一样,也使用udp来传送,区别是rtcp并不对音频视频分组进行封装。由于rtcp的分组很短,因此在一个udp数据报中可以封装多个rtcp分组。被封装的rtcp分组可以周期性地在网上传送,它包含有发送端和接收端对服务质量的统计信息的报告(如已发送的分组数和字节数、分组丢失率、分组到达时间间隔的抖动等)。3、系统的结构设计本系统可用于视频会议直播。在发送端采用ip组播技术,这样可以降低网络上传输的信息包总量,从而减少网络拥塞和冲突的发生;在接收端,也可以通过设置接收缓冲来减少数据的抖动,提高质量。当会议开始时,会议发布者在服务器端,将摄像头和麦克风捕捉的音视频数据经压缩编码后通过3g无线网络发送出去,其他与会者使用移动终端加入该组后,在终端屏幕上播放经解码后的音视频,完成会议的参与。因此,该系统主要由以下几个模块构成,系统结构如图1所示。(1)音视频的采集和回放:采用directshow技术实现音视频数据的采集和回放。该方法基于com技术的优势,可以方便的对音视频数据进行采集,并且使采集到的数据播放流畅,图像稳定。(2)音频的编解码:采用具有开源库的g.729a标准对音频数据进行编码和解码。该标准数据压缩率高,复杂度低,时延小。(3)视频的编解码:采用具有开源库的h.264标准对视频数据进行编码和解码。该标准能提高网络适应能力,具有错误恢复能力。(4)同步处理、数据加密、网络传输、数据解密:采用rtp实时传输协议对音视频数据进行打包、封包传输、解包以保证数据的实时性,并采用rtcp实时传输控制协议提供传输qos监测和拥塞控制、媒体间同步等服务。4、系统的程序实现本系统由服务器端和移动终端两部分组成。服务器端pc基于windows xp平台,程序采用visual studio2005进行编写;移动终端为pocket pc,基于wince平台,程序也是采用visual studio2005进行编写。在开发前,要先安装visualstudio2005和directx 9.0b sdk,并对开发环境进行相应的配置,使其支持directshow的开发。系统中音视频的编解码部分采用的是va_g729a.lib和h264.lib开源库,打包、封包传输、解包部分使用开源的jrtplib.lib。由于wince操作系统提供了和桌面windows操作系统很接近的win32 api,大多数win32 api的函数在wince中都存在。因此,下面程序的实现是以pc平台下的visual studio2005为例,wince下的程序可以方便移植,但对于系统中采用的一些开源库要经过修改才能在wince环境下编译使用。(1)音频的采集和回放:使用directshow的系统设备枚举器枚举,找到我们想要创建的声卡对象。在本文中,我们采集生成一个wave文件,于是还需要加入一个wave dest filter和一个file write filter。static const guid clsid_wavdest ={0x3c78b8e2,0x6c4d,0x11d1,{0xad,0xe2,0x0,0x0,0xf8,0x75,0x4b,0x99}};//注册wavdest组件cocreateinstance(clsid_filtergraph,null,clsctx_inproc_server,iid_igraphbuilder,(void**)&pgraph);//创建filter graph manager实例pgraph->addfilter(psrc,l”capture”);//将capture filter加入filter graph中以实现音频采集”);//将wavdest filter加入filter graph中以实现在结束采集时,再在文件头位置插入一个wave格式的数据块pgraph->addfilter(pwrite,l”file writer”);//将file writer加入filter graph中(2)视频的采集和回放:使用directshow技术,选择视频画面的大小为176*144真彩色,每秒捕获30帧。cocreateinstance(clsid_filtergraph,null,clsctx_inproc_server,iid_igraphbuilder,(void**)&pgraph);//创建filter graph manager实例pgraph->addfilter(psrc,l”vsourcefilter”);//将vsource filter加入filter graph中以实现视频捕获pgraph->addfilter(prender,l”vrenderfilter”);//将vrender filter加入filter graph中以实现
基于VFW和Directshow的视频捕捉技术研究
基于VFW和Directshow的视频捕捉技术研究作者:高余胜来源:《知识文库》2018年第08期随着计算机技术的飞速发展越来越多的需求要软件来实现视频采集,而且也要获得较好的图像效果。
在这种情况下,Windows平台专门开发了满足这种需求的信息处理和集成技术,也为数字视频信息的实时捕捉提供了多种实现技术,其中主要有VFW技术和Directshow技术。
文章将主要介绍VFW和Directshow技术,并简要介绍了运用该技术实现视频捕捉的技术研究。
近年来Internet不断发展,人们希望通过网络可以传输更多的视频信息或者视频信号,而实现视频传输的核心问题便是多媒体信息的压缩及传输技术。
传统意义上的视频处理系统以模拟设备为主,其结构是一种单功能、单向、集总方式的信息采集系统,因此传统设备尽管发展到很高的水平,但其局限性依然存在,已无太大发展空间。
面对越来越高质量的需求,视频字数化的发展将是必由之路。
实时数字视频处理系统具有传统模拟处理系统无法比拟的优点,而且符合当前字数化、网络化和智能化的发展趋势,所以基于VFW和Directshow的视频捕捉技术的数字视频处理正在逐步取代传统视频处理技术并广泛应用于多媒体发展中。
1 VFW视频捕捉技术VFW(Video for Windows)即视窗操作系统下载视频是Microsoft公司为适应社会发展需求而推出的关于数字视频的一个软件开发包,而AVI(Audio VideoInterleave)文件标准是VFW技术的核心。
VFW的优势在于简单直观,能较快捷地运用回调函数、宏等函数完成实时的视频捕捉和单帧捕获并提供对视频源的控制。
此外,AVICap类能直接访问视频缓冲区,而不需要生成中间文件,实时性和效率较高。
实现VFW视频捕捉技术的流程可以设计为:创建视频捕获窗口、捕获窗口与视频捕获驱动链接、视频捕获参数的设置、设置捕获窗口的显示模式、注册系统回调函数、捕获图像到缓存或文件并进行相应处理、捕获结束。
实时图像采集系统的设计与实现
实时图像采集系统的设计与实现引言随着数字多媒体技术的不断发展,数字图像处理技术被广泛应用于身份识别、电视会议、监控系统、工业检测等各种商用、民用及工业生产领域中。
这些数字图像处理系统中,一个共同的特点的就是数据量庞大,尤其是在图像帧率及分辨率要求比较高的场合下,以指纹识别系统为例,图像分辨率的高低直接影响系统的鲁棒性,一般来说,为了能够清晰的辨别指纹中的特征结构,指纹图像需要达到至少500DPI的分辨率。
通常,为了能够满足各类手指大小以及采集方式的要求,图像采集系统的尺寸都不可能做得太小(一般在2英寸以上),这就要求图像解析度至少达到1024×768,最好是1280×1024(1.3M),如果要做到实时采集和处理(30F/s),数据量将达到1280×1024×30×8=300Mbit/s。
伴随着超大规模集成电路和DSP处理技术的飞速发展,新的高速CPU和高性能DSP处理芯片不断推出市场,在这些技术的有力支持下,复杂的图像处理算法往往容易实现。
与此同时,图像数据采集部分由于缺乏专用芯片的支持,而且受限于系统总线带宽,已经成为数字图像系统中的主要瓶颈所在。
主流的图像采集方式目前数字图像采集主要采用两种方式:一种是以专用的数据采集卡,配合PC机的各种高速数据总线如PCI,USB2.0,firewire1394等采集数据。
PC机的优势是拥有大量的高速内存可以用作数据采集时的缓存,而且它的各种数据总线具有比较高的数据传输率,PCI总线的速率为32(Bit)×66=2112Mbit/s,USB2.0的数据传输峰值可以达到480 Mbit/s,firewire也可以达到400Mbit/s的传输速率。
问题在于,PC机的体系结构决定了任何外设都只可能是从设备,只能请求总线资源,而不能主动占有。
在Windows(或是Linux)这些实时多任务操作系统的调度下,即使在系统不运行其它应用程序的情况下,系统时间片和系统资源也会被操作系统内核和各类外设分享。
基于DirectShow的多媒体播放器设计与实现(含源文件)
编号毕业设计(论文)基于DirectShow的多媒体播放器设计与实现目录摘要 (I)Abstract (II)1 绪论 (1)1.1 课题研究的背景与意义 (1)1.2 课题国内外研究现状 (1)1.3 可行性分析 (2)1.3.1 技术可行性分析 (2)1.3.2 经济可行性分析 (2)1.3.3 管理可行性分析 (2)1.4 论文的主要内容及章节安排 (3)2 相关平台及开发技术简介 (3)2.1 Microsoft Visual C++ 2010概述 (3)2.1.1 MicosoftVisual C++ 2010特点 (3)2.1.2 MFC概述 (4)2.2 ADO访问数据库技术概述 (4)2.2.1 OLE DB和ADO简介 (4)2.2.2 ADO主要对象介绍 (5)2.2.3 VC++中使用ADO进行数据库开发的基本流程 (5)2.3 DirectShow核心技术 (5)2.3.1 DirectShow整体架构 (5)2.3.2 COM组件 (6)2.3.3 Filter概述及连接 (6)2.3.4 滤波器链表管理器 (7)2.3.5 滤波器链表中数据传输 (7)2.3.6 事件通知机制 (8)2.4 Skin++皮肤库概述 (9)2.4.1 Skin++简介 (9)2.4.2 Skin++特性 (9)3 系统需求分析 (9)3.1 系统业务需求 (9)3.2 系统数据需求 (10)3.3 功能需求 (10)3.4 非功能需求 (10)3.4.1 适应性 (10)3.4.2 安全性 (10)3.4.3 可靠性 (11)3.4.4 可扩充性 (11)3.4.5 可维护性 (11)3.4.6 可移植性 (11)4 多媒体播放器的设计 (11)4.1 系统功能设计 (11)4.1.1 媒体文件添加(数据输入) (11)4.1.2 媒体文件存储和显示(数据存储及显示) (12)4.1.3 媒体文件播放及控制(数据流传输、控制及输出) (12)4.2 系统结构设计 (12)4.3 系统数据库设计 (13)4.4 播放器滤波器链表结构设计 (13)4.5 DirectShow智能连接 (13)4.5.1 智能连接概述 (13)4.5.2 智能连接的实现 (14)5 多媒体播放器的实现 (14)5.1 基于DirectShow播放器的实现 (14)5.1.1 初始化COM (14)5.1.2 创建滤波器链表管理器 (15)5.1.3 智能连接建立滤波器链表 (15)5.2 DirectShow接口实现 (15)5.3 媒体文件信息存储实现 (15)5.3.1 数据库存储 (16)5.3.2 链表存储 (16)5.3.3 List列表显示 (17)5.4 播放控制功能的实现 (18)5.4.1 定位 (18)5.4.2 播放 (19)5.4.3 暂停、停止 (19)5.4.4 全屏 (19)5.4.5 截图 (20)5.4.6 静音控制 (20)5.4.7 速率控制 (21)5.4.8 上一个和下一个 (21)5.4.9 查找 (22)5.4.10 删除 (22)5.4.11 排行榜 (23)5.4.12 播放模式设置 (24)5.4.13 帮助 (24)5.4.14捕获本地摄像头 (25)5.5 歌词关联实现 (26)5.5.1 歌词构造原理概述 (26)5.5.2 获取歌词方法及过程 (27)5.5.3 遇到难点和问题 (27)5.6 用户管理功能实现 (28)5.6.1 用户注册 (28)5.6.2 用户登录 (29)5.6.3 用户使用系统整体流程 (29)5.7 播放JPG格式图片实现 (30)5.7.1 JPG格式图片缩放实现 (30)5.7.2 JPG格式图片的显示 (30)6 测试多媒体播放器实例及结论 (31)6.1 测试环境设计 (31)6.1.1 软件环境 (31)6.1.2 硬件环境 (32)6.2 测试用例设计 (32)6.3 测试结果分析 (33)6.3.1 多媒体播放器的主题界面 (33)6.3.2 多媒体播放器测试结果记录 (34)6.4 测试结论 (35)结束语 (35)致谢...................................................................................................... 错误!未定义书签。
基于directshow的视频播放器设计与实现
DeviceFilter。
图1播放AVI文件的过滤器图管理器
图1中的箭头表示Filter链表中的数据流的方向。
在DirectShow 像上面的这样一个Filter链表我们称为Filter Graph。
一般分为下面几种类型。
(1)源过滤器(Source Filter):源过滤器引入数据到过滤器图中据来源可以是文件、网络、照相机等。
不同的源过滤器处理不同类型的数据源。
(2)变换过滤器(Transform Filter):变换过滤器的工作是获取输入
处理数据,并生成输出流。
变换过滤器对数据的处理包括编解码格式转换、压缩解压缩等。
(3)提交过滤器(Renderer Filter):提交过滤器在过滤器图里处于最后一级,它们接收数据并把数据提交给外设。
Filter有三种状态:运行、暂停、停止,Filter Graph中所有的
图2
具体功能实现
媒体播放器的定位接口的获取、全屏实现、音量控制和静音设置关键代码实例。
首先获取Filter Graph的各个控制接口,查询接口函数的代码如得到播放器控制接口、定位接口等CDXGraph::QueryInterfaces(void)
(mGraph)
HRESULT hr=NOERROR;
得到播放控制接口
|=mGraph->QueryInterface(IID_IMediaControl,
&mMediaControl);
得到媒体事件接口
能上相对于同类软件有一定优势。
基于DirectShow的多路视频采集系统
图1 DirectShow架构DirectShow系统使用一种叫做过滤器图表(FilterGraph)的结构模型,对整个多媒体数据流的处理过程进行统一管理,参与数据处理的功能模块叫做过滤器(Filter),每个Filter通过引脚(Pin)在Filter Graph中按照一定的顺序连接成一条“流水线”协同工作[3]。
依照功能来划分,Filter可以划分为三类:Source Filters、陶崇峻(1974-),男,辽宁丹东人,本科,网络工程师。
研究方向:信息安全、银行卡技术与风险。
图2 多路视频采集系统演示效果图3 系统结构TCHAR szCaptureFile[_MAX_PATH]; //捕获到文件的存储路径WORD wCapFileSize; //捕捉文件的大小IVideoWindow *pVW; //视频显示的指针,利用该指针将视频显示在界面上double FrameRate; //用户设定的帧速率,即每秒帧数int iNumVCapDevices; //现有视频捕捉设备数量BOOL fPreviewGraphBuilt; //是否已建立了预filter graph的布尔变量首先,需要在GraphEdit中添加视频捕捉器件,系统将捕捉器件的Filter添加到可视化界面中的方法是:h r=g c a p.p F g->A d d F i l t e r(g c a p.p V C a p,g c a p. wachFriendlyName);为了显示视频图像,需要一个视频预览的Filter,这样就添加了一个视频渲染器(Video Renderer)的Filter。
从图4中可以看出,每个Filter的框架上都内嵌了小矩形方块,这些小矩形方块就代表每个Filter的Pin,位于左边的是输入Pin,位于右边的是输出Pin。
若要让整个Filter链路运行起来,首先要把上游Filter的输出Pin与下游Filter的输入Pin连接起来,在连接的过程中,需要协商能够共同使用的多媒体格式,若没有相同的多媒体格式可用,连接将会出错[10]。
软硬结合解码方式的4K视频播放系统
软硬结合解码方式的4K视频播放系统徐圣凯;潘飞【摘要】Due to the amount of 4Kvideo data is large, and the traditional CPU software decoder technology cannot meet the performance requirement. The 4K video playback system based on combination of hard and soft decoding mode is designed, which uses DirectShow and CUDA hardware decoding technology. And the system includes functions of hardware system information acquisition, video source reader, video hard decoding, and video display. Experimental results show that this system can achievegood effect and greatly reduce the CPU occupancy rate when playing 4K video.%针对4K视频数据量很大,传统的CPU软件解码技术无法满足性能要求.设计了一种软硬结合解码方式的4K视频播放系统,采用DirectShow和NVIDIA CUDA技术进行GPU硬件解码.系统功能包括硬件系统信息获取,视频源读取,视频硬解码和视频显示.实验结果表明,此播放系统在进行4K视频解码播放时,既保障了视频效果,又极大降低了CPU使用率.【期刊名称】《计算机系统应用》【年(卷),期】2017(026)004【总页数】4页(P91-94)【关键词】4K;软硬结合解码;DirectShow;CUDA;CPU使用率【作者】徐圣凯;潘飞【作者单位】南京理工大学自动化学院, 南京 210000;南京理工大学自动化学院, 南京 210000【正文语种】中文近些年来, 多媒体技术得到了长足的发展, 1080P全高清摄像头, 4K电影, 4K超高清显示屏等产品的问世不断地刷新着分辨率、帧率等参数极限[1], 为用户提供了更完美的用户体验. 然而4K超高清视频的信号容量是巨大的, 视频信号经过采集, 解码后才能呈现在显示屏上, 其中的解码过程算法复杂, 对运算处理能力要求很高. 传统的软件解码技术依赖CPU的计算能力, 已经无法满足性能要求, 而嵌入式纯硬件解码不仅价格昂贵且架构不灵活,无法大众化推广. 如何在保证视频解码效果的前提下, 降低成本、加快解码速度、降低CPU使用率成为了研究热点.纯软件解码播放4K视频时CPU使用率过高导致主机卡顿现象明显, 很多高校和视频处理公司开始关注软件框架与硬件解码器相结合的播放体系, 利用GPU分担部分视频解码工作. 当前通过GPU解码的技术主要有两大类: 利用GPU内部并行工作的流处理单元进行硬件解码, 编写在GPU上运行的代码, 例如ATI的Stream与NVIDI的CUDA, 第二种是间接通过GPU加速, 通过制定统一的解码接口来实现, 例如微软的DXVA(DirectX Video Acceleration). 其中CUDA解码方案中, 流处理器数量会对效率有一定的影响,不过这些主要在使用低端显卡时才会出现差异, 而对于目前的入门级(9600GSO)以及中高端显卡来说, 解码时的差异并不明显. DXVA 解码方案中, 虽然解码器支持DXVA规范, 但不代表就能利用DXVA规范里面所有的功能组合, 它可以选择自己有能力支持的, 或者想要支持的那些功能组合, 其他功能组合也许就放弃了. 还有, 某显卡虽然表示支持某种能力, 但如果解码器认为这个能力的支持不够稳定, 容易导致系统崩溃或错误, 或者性能低下, 它也可以放弃这种能力.大量研究表明DXVA解码方案的CPU使用率要比CUDA解码稍低一些, 但利用CUDA解码极大地释放CPU压力的同时, 不像DXVA解码方案那样存在各种兼容性问题, 而且功耗也比CPU软解方案要关低不少,可以说CUDA解码是一个折中的解码方案. 基于这些技术, 台湾讯连科技公司的知名商业软件PowerDVD和腾讯公司的QQ影音播放器开始支持CUDA硬件解码, 不过PowerDVD是一款收费软件, QQ影音播放器进行硬件解码时配置复杂, 且解码器进行了产权保护[2-9].本文软硬结合解码方式的4K视频播放系统采用CUDA解码方式, 依靠灵活的软件框架, 实现软解码与CUDA硬解码自动设置机制, 对于支持CUDA解码的硬件设备自动启动CUDA硬解码, 不需要繁琐的手动设置. 自开发的CUDA解码器独立封装, 全程码流追踪透明高效, 也为后续深度开发提供了支持. 实验表明该系统播放4K视频, 自启动硬解码时, CPU使用率巨幅下降, 保证了系统操作的流畅性.4K指的是分辨率, 于2007年提出, 2012年规范,因其横向解析度约为4000像素而得名, 包括4096*2160、3840*2160等多种分辨率规格. 从分辨率参数来看, 4K 约达到了全高清视频(1080P)的4倍, 如图1所示.本文设计的软硬结合解码方式的4K视频播放系统, 主要实现的功能有本地文件的读取, 4K视频的H.264硬件解码和视频显示. 4K视频播放系统结构如图2, 系统分为硬件系统信息获取模块, 4K视频源读取模块, 硬解码Filter模块, 模块间连接与显示模块.硬件系统信息获取模块根据硬件情况选择解码器类型,对支持CUDA解码的系统提供无感知的硬件解码功能,系统软解码器采用第三方解码器.2.1 视频源读取模块DirectShow提供了大量的Filter用以支持基本的应用. 如图3所示是4K视频文件播放的部分链路. 其中, 箭头方向即是数据的流向, Filter Source(Async)属于Source Filter, 它用于管理硬盘上指定的播放文件,并根据Splitter的要求提供数据, Splitter负责向Filter Source(Async)索取数据, 并将取得数据的音频和视频进行分离, 然后分别从各自的输出Pin输出给音频解码器和视频解码器, 此Source Filter硬盘读取速度满足要求, 可以直接用作系统的视频源读取模块.2.2 硬解码器模块设计与实现CUDA是一种由NVIDIA推出的通用并行计算架构, 该架构使GPU能够解决复杂的计算问题. 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎. 开发人员可以使用C语言来为CUDA™架构编写程序, 所编写出的程序可以在支持CUDA™的处理器上以超高性能运行. NVIDIA在CUDA的基础上建立了一套SDK 用于使用显卡硬件加速来进行H.264编码, 可以在CPU占用率很小的情况下完成高质量实时的H264编码. 系统需要硬件显卡驱动支持CUDA.系统硬解码Filer功能设计为: 接收H.264视频流输入, 解码后输出RGB24或者YUY2格式的图像帧序列, 一个输入Pin一个输出Pin, 类型为Transform Filter, 采用CSource作为Filter的父类, 因为CSource的输出Pin(从CSourceStream类派生)实现了一个数据线程, 在这个线程中, 可以控制整个解码过程. 设计一个比较大的缓冲管理H.264流数据, 当输入Pin有Sample输人时, 直接把数据放入缓冲等待解码线程读;解码线程也可以主动访问该缓冲, 并从中取出足够数据以完成图像帧的解码.硬解码器Filter的实现: Filter类名为CudaDecode,输入Pin类名为CudaInputPin, 输出Pin类名为DecodeStream, 它们的类继承关系如图4.实现硬件解码器核心部分是实现CUDA解码, 首先我们配置nvcuvid.dll 和cutil32.dll动态链接库, 系统解码过程如图5, 主要函数有:(1) InitCuda(CUvideoctxlock *pLock). pLock参数为关键段类似于CrticalSection, 函数的主要功能是初始化显卡并创建一个显卡设备.(2)HandleVideoSequence(void *pvUserData, CUVIDEOFORMAT *pFormat). 函数的功能是创建初始化H.264流分析器.(3)HandlePictureDecode(void *pvUserData, CUVIDPICPARAMS*pPicParams). 函数功能是解码每帧视频数据.(4)HandlePictureDisplay(void *pvUserData, CUVIDPARSERDISPINFO*pPicParams). 函数用来转换, 处理显示转码后的数据.2.3 连接与显示模块本文4K视频播放系统的硬件结构是电脑主机通过高清晰度多媒体接口(英文: High Definition Multimedia Interface, HDMI)与4K显示屏连接, 软件结构方面: 各个功能模块作为独立的Filter注册在windows系统中, 功能模块的连接即为Filter 上Pin的连接. 连接的方向是由上一级Filter(Upstream Filter)的输出Pin指向下一级(Downstream Filter)的输入Pin. Pin是一种COM组件, 而且每个Pin上都实现了IPin接口, Pin正是通过这个IPin接口来完成连接的, 一般调用接口方法IFilterGraph::ConnectDirect来实现. 本文Renderer Filter的功能是是接收硬解码Filter解码后的数据, 然后在4K显示器上显示. Renderer Filter的实现: Filter 类名为CVideoRender, Pin的类名为CVideoInputPin, 属性页类名为CQualityProperties. 关键类CVideoRender类中定义的一些成员变量有: CImageAllocator m_ImageAllocator; //Sample管理器CVideoInputPin m_InputPin; // 输入PinCImageDisplay m_Display; // 管理图像显示格式CMediaType m_mtIn; // 连接用的媒体类型CVideoText m_VideoText; //视频窗口CImagePalette m_ImagePalette; // 管理调色板CDrawImage m_DrawImage; // 画图工作SIZE m_VideoSize; // 当前视频图像大小定义上述成员使用了一系列的工具类, 它们的继承关系如图:Filter需要重写CheckMediaType,CompleteConnect等一系列函数, 并完成进度条, 属性页的功能, 最终注册后供系统使用.硬件环境: CPU为Intel(R)Core(TM)i5-5200U , 主频为2.2GHz, GPU为GeForce 940M. 软件环境: Windows 7 、vs2010 、DirectShow开发环境. 本文主要测试CPU使用率这个指标. 测试时播放4K视频文件(时长4分3秒, 内存占614M, 压缩格式为h264,封装格式为MP4)的前20秒内容, 使用Process Explorer检测CPU使用率. 当使用纯软件解码器系统播放4K视频时CPU使用率如图7, 利用本文系统播放4K视频时CPU使用率如图8.图7与图8比较可以看出, 播放4k视频, 在保证画面清晰流畅的前提下, 本文硬解码播放系统CPU使用率只有20%左右, 而纯软件解码系统CPU使用率达到了80%左右.本文基于DirectShow与CUDA技术, 开发了4K视频播放系统, 实现了4K视频硬解码. 采用了软硬件结合的方式, 兼顾软件解码的灵活和硬件解码的速度,大大降低了计算机CPU的使用率, 在实际应用中有很大的价值.1 武凤翔.基于DirectShow和WPF的实时视频图像采集与处理系统设计与实现.计算机应用与软件,2015,(3):331–333.2 伍开胜,罗宇,刘斌.基于directshow的视频播放器设计与实现.科技视界,2015,(31):184–185.3 朱伟.基于CUDA的H.264视频解码[硕士学位论文].长沙:湖南师范大学,2011.4 尚青青.多场所多路高清视频监控中心的设计与实现[硕士学位论文].南京:南京邮电大学,2013.5 李虎.H.264解码器并行算法设计与基于CUDA的实现[硕士学位论文].大连:大连理工大学,2014.6 刘旭凤.基于4K2K电视构架的视频解码显示研究[硕士学位论文].济南:山东大学,2013.7 章剑.基于CUDA平台的H.264视频编码器研究设计[硕士学位论文].南京:南京航空航天大学,2012.8 金曙阳.基于GPU并行编码的全高清互动教学系统的设计与实现[硕士学位论文].南京:南京邮电大学,2014.9 Adeyemi-Ejeye AO, Walker S, Fleury M. 4kUHD H264 wireless live video streaming using CUDA. Journal of Electrical and Computer Engineering, 2014.。
基于DirectShow的可控视野视频点播系统的设计与实现
基于DirectShow的可控视野视频点播系统的设计与实现王艺娜;王广生【摘要】随着网络和计算机技术的不断发展,视频点播的功能也不断完善,但仍然存在不足之处,不能满足观众个性化的需求.通过分析DirectShow的组成结构和工作原理,以及VMR的结构和渲染原理,介绍了利用VMR实现可控视野视频点播系统的方法.该系统可以让观众自己掌控收视的主动权,自由选择想看的电视画面.【期刊名称】《现代电子技术》【年(卷),期】2007(030)008【总页数】3页(P48-50)【关键词】视频点播;过滤器;DirectShow;VMR【作者】王艺娜;王广生【作者单位】北京工业大学,北京,100022;北京工业大学,北京,100022【正文语种】中文【中图分类】TP3111 引言视频点播(Video on Demand,VOD)是利用视频服务器存储的视频节目和其他多媒体信息,通过传输网络和用户前端设备(如机顶盒)向用户提供交互式的视频服务。
用户能够通过计算机或相应的用户前端设备,对服务器提供的视频节目进行编辑与处理,如暂停、快/慢进、搜索等等。
VOD还可以实现上网、家庭购物、旅游指南、订票预约、股票交易等其他功能。
但是,目前的视频点播功能具有一定的局限性。
播放的节目都是由电视台决定的,尤其是在比赛的转播中,电视台播放哪些画面、镜头,观众只能被动地接受,无法选择。
而可控视野的视频点播是利用摄像机组将现场各方位的画面都拍摄下来,然后利用视频融合技术进行处理,供用户进行点播。
这样,用户就可以自由地左看、右看了。
2 DirectShow技术DirectShow是建立在DirectDraw和DirectSound组件基础上的流媒体处理的开发包,他通过DirectDraw对显卡进行控制以显示视频,通过DirectSound对声卡进行控制以播放声音。
过滤器是DirectShow最基本的组成元件。
过滤器是一个COM组件,是完成DirectShow处理过程的基本单元。
基于DirectShow的视频采集系统的设计与实现
基于DirectShow的视频采集系统的设计与实现
魏立诚;朱桂林
【期刊名称】《计算机工程》
【年(卷),期】2005(031)014
【摘要】传统的视频采集技术存在诸多的局限性,无法很好地应用于当前的各类视频系统.针对这一现状,该文提出了一种先进的基于DirectShow的视频采集系统.该系统充分利用DirectShow与WDM视频采集卡的良好集成特性,采用组件对象模型的系统架构,克服了传统视频采集技术的不足,在实际应用中取得了满意的效果.【总页数】3页(P187-189)
【作者】魏立诚;朱桂林
【作者单位】浙江大学计算机科学系,杭州,310027;浙江大学计算机科学系,杭州,310027
【正文语种】中文
【中图分类】TP37
【相关文献】
1.基于DirectShow RTMP协议的视频采集传输系统的设计与实现 [J], 孙盼;康维新
2.基于DirectShow的人工流产视频采集系统设计 [J], 孔凡洋;孙桂芹;彭建;余学飞;张志德
3.基于DirectShow的无线音视频采集与传输系统的研究 [J], 郑晓曦;刘维
4.基于DirectShow的无线音视频采集与传输系统的研究 [J], 郑晓曦;刘维
5.基于DirectShow的多路视频采集系统 [J], 陶崇峻
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于 DirectShow 和 WPF 的实时视频图像采集与处理系统
设计与实现
武凤翔
【期刊名称】《计算机应用与软件》
【年(卷),期】2015(000)003
【摘要】Currently,the main problems of video image are the low execution efficiency and difficult to realise real-time performance when processing large amounts of data.In light of this,we use DirectShow technology to well solve the problems.The video data in RAM can be directly processed based on DirectShow so that the bottleneck of hard disk data reading is stepped across.In this paper we design the real-time video image acquisition system,which uses DirectShow and WPF as the software platform,and includes video image capture and display module,image browsing and processing module,and image storage and management module.Experimental results show that the method can achieve good effect when applying in real-time video image acquisition,and is feasible in engineering application.%当前视频图像的主要问题是当处理的数据量大时,执行效率低,很难实现实时性。
采用 DirectShow 技术,很好地解决了这个问题。
基于 DirectShow 可直接对内存中的视频数据进行处理,从而跨越硬盘数据读取的瓶颈。
设计了以 DirectShow 和 WPF 为软件平台的实时视频图像采集系统,包括:视频图像采集与显示模块、图像浏览与处理模块、图像存储与管理模块。
实验
结果表明该方法应用在实时视频图像采集上可以达到较好的效果,在工程上应用是可行的。
【总页数】3页(P331-333)
【作者】武凤翔
【作者单位】河南水利与环境职业技术学院河南郑州 450011
【正文语种】中文
【中图分类】TP391
【相关文献】
1.基于FPGA的实时视频图像采集处理系统设计 [J], 高俊岭;陈志飞;章佩佩
2.基于FPGA高速视频图像实时采集与处理系统设计 [J], 田杰;王广龙;乔中涛;高凤岐
3.基于DirectShow的DV视频实时采集系统的实现 [J], 薛勇
4.基于DirectShow的视频图像处理系统设计与实现 [J], 范伊红;黄涛;彭海云;吕运朋
5.基于FPGA的实时视频图像采集与显示系统的设计与实现 [J],
因版权原因,仅展示原文概要,查看原文内容请购买。