WEB开发网      婵犵數濞€濞佳囧磹婵犳艾鐤炬い鎰堕檮閸嬬喐銇勯弽銊с€掗梻鍕閺岋箑螣娓氼垱笑闂佽姘﹂褔婀佸┑鐘诧工妤犲憡绂嶉崜褏纾奸弶鍫涘妼缁楁岸鏌熷畡鐗堝殗闁诡喒鏅犲畷褰掝敃閵堝棙顔忔繝鐢靛仦閸ㄥ爼骞愰幘顔肩;闁规崘绉ぐ鎺撳亹闁绘垶锕╁Λ鍕⒑閹肩偛濡奸悗娑掓櫇缁顓兼径妯绘櫇闂佹寧绻傞弻濠囨晝閸屾稓鍘甸柣搴㈢⊕閿氶柣蹇ョ稻缁绘繃绻濋崘銊т紝闂佽鍨伴崯鏉戠暦閻旂⒈鏁傞柛鈾€鏅欑槐妯衡攽閻愬樊鍤熷┑顔藉劤铻為柛鏇ㄥ墯閸欏繘鏌嶉崫鍕櫣缂佲偓婢跺绠鹃柟瀛樼箘閿涘秵顨ラ悙顏勭伈闁诡喖缍婂畷鎯邦槻婵℃彃顭烽弻娑㈠Ω閵夈儺鍔夌紓浣稿€哥粔褰掑极閹剧粯鏅搁柨鐕傛嫹 ---闂傚倷鐒︾€笛兠洪埡鍛闁跨噦鎷�
开发学院软件开发VC 用DirectShow抓取影片帧 阅读

用DirectShow抓取影片帧

 2006-07-23 11:32:37 来源:WEB开发网 闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹闂傚倷绀侀幉锟犲垂閻㈠灚宕查柟鎵閸庡秵銇勯幒鎴濃偓鐢稿磻閹炬枼妲堟繛鍡楃С濞岊亞绱撻崒姘扁枌闁瑰嚖鎷�婵犵數濮幏鍐川椤撴繄鎹曢梻渚€娼уú銈吤洪妸鈺佺劦妞ゆ帊鑳堕埊鏇㈡煏閸モ晛浠х紒杈╁仱閺佹捇鏁撻敓锟�闂傚倷绶氬ḿ褍螞閹绢喖绠柨鐕傛嫹  闂傚倷鑳舵灙缂佺粯顨呴埢宥夊即閵忕姵鐎梺缁樺姇閹碱偆鐥閺屾洘绻濊箛鏇犵獥闂佺厧澹婃禍婊堚€旈崘顏佸亾閿濆骸澧ù鐘欏嫮绠鹃柛顐ゅ枎閻忋儲銇勯弴妯哄姦妞ゃ垺鐟╅幃鈩冩償閵囧府鎷�
核心提示:本文示例源代码或素材下载 很多视频播放软件或视频编辑软件都提供了抓帧的功能,利用这类软件,用DirectShow抓取影片帧,视频工作者可以很轻松地将一个电影某一时刻的帧抓取出来并保存为图片文件,那么,这个接口包含了一些方法能够从媒体源文件中提取一些重要信息,比如媒体类型、帧速率甚至是视频流的单个帧,我们如何自己

本文示例源代码或素材下载

很多视频播放软件或视频编辑软件都提供了抓帧的功能,利用这类软件,视频工作者可以很轻松地将一个电影某一时刻的帧抓取出来并保存为图片文件,那么,我们如何自己编程实现这样的功能呢?如果你熟悉MPEG或者AVI等常见视频格式,你可以直接对影片文件进行操作,如果你不知道这些视频格式,而希望使用更简单的方法来抓取影片的帧,微软的DirectShow将会给你极大的惊喜。

DirectShow属于DirectX家族(DirectX还包括Direct3D、DirectInput、DirectDraw、DirectSound等组件),在使用DirectShow开发抓取帧的程序前,你必须要安装DirectX SDK,这个开发包可以在微软的网站上下载得到,目前最新版本是9.0b;另外,由于DirectX SDK是用COM的方式发布的,所以对于开发人员而言,他还必须要了解COM的基本原理。如果大家没有使用过COM,可以先从网上找一些COM方面的入门教程看看

一、编程工具的设置:

先说说我使用的VC 6.0的设置,一般而言,安装完DirectX 9.0b SDK后,会自动设置好VC,用户无需手动干预,如果编译过程中出现错误,请检查VC是否包含了DirectX SDK的头文件和库文件,方法是选择菜单“Tools->Options…”,在弹出的Options对话框中选择Directories选项卡,看看Include files和Library files中是否包含有DirectX SDK的Include路径和Lib路径,如果没有,将这两个路径添加上去即可。

二、主要的实现步骤:

在实现抓取影片帧的过程中,DirectShow的IMediaDet接口将是主角,这个接口包含了一些方法能够从媒体源文件中提取一些重要信息,比如媒体类型、帧速率甚至是视频流的单个帧。

·注意

要正确使用IMediaDet接口,工程中需要包含下列文件:

1 2 3  下一页

Tags:DirectShow 抓取 影片

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接