CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  多媒体/流媒体开发

急!如何使用directshow将任何AVI逐帧分解为位图

楼主jason20042008(Jason)2006-07-13 23:55:15 在 专题开发/技术/项目 / 多媒体/流媒体开发 提问

希望将一个avi文件打开并取出每一帧图像,得到位图格式数据后要传递给其它模块作图像处理。本人对directshow不熟悉,使用vfw时又发现有些编码的avi文件打开时有问题。希望高手指教! 问题点数:100、回复次数:8Top

1 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-07-14 00:53:46 得分 30

这就是播放器啊  
  DXSDK里面有sample的Top

2 楼jason20042008(Jason)回复于 2006-07-14 23:03:44 得分 0

我本来有一个direct3d的工程,想把directshow加进去,参考了VMR9中vmr9allocator的例子,程序本来已经有d3d和d3ddevice的对象指针了,但是传给allocator后vmr不能正常工作,让vmr自己创建新的d3ddevice可以听到声音播放正常,可是texture上没有图像(不知是否是我显示时没做好)。Top

3 楼DentistryDoctor(不在无聊中无奈,就在沉默中变态)回复于 2006-07-14 23:04:32 得分 30

使用Filter:ISampleGrabber,或自己构建一个Transform   Filter.Top

4 楼wwwllg(野蛮人)回复于 2006-07-15 08:35:29 得分 30

在你的graph中接一个graber,播放这个文件,在回调中存为图片文件.Top

5 楼jason20042008(Jason)回复于 2006-07-15 11:52:07 得分 0

能给一个接grabber还能播放音频的例子吗?sdk   sample里面只有简单的例子不能播放同步的声音。谢谢各位了,感激不尽!Top

6 楼jason20042008(Jason)回复于 2006-07-15 20:26:37 得分 0

有些眉目了,加一个samplegrabber、source和nullrenderer,connect到一起,对于avi文件来说找到avisplitter   filter,render那个未连接的pin,这样音频也可以同时播放了,使用回调方式让grabber每次有sample时通知我,再把位图贴到d3d材质上去,方法笨一些,还没把代码整合到一起,不知道好不好使。不知各位有没有什么好的建议。感觉directshow做得很灵活,反过来带来的问题是对于不了解的人上手很困难。摆弄了两天才稍稍有些眉目了。那个graphedit挺有用处,让我少费了不少功夫。Top

7 楼jason20042008(Jason)回复于 2006-07-16 14:18:48 得分 0

又遇到了问题,程序运行结束后进程并没有终止。我觉得可能是directshow的线程没有结束造成的,可是我已经把graph   stop了,而且也release了。Top

8 楼lulubei()回复于 2006-07-17 09:38:25 得分 10

很简单啊   IMediaSeeking   *mSeeking;   mSeeking->SetTimeFormat(&TIME_FORMAT_FRAME)  
  设置成video按帧播放   然后再实时抓图   就可以将video的每一帧图片抓取下来了Top

相关问题

关键词

得分解答快速导航

  • 帖主:jason20042008
  • jiangsheng
  • DentistryDoctor
  • wwwllg
  • lulubei

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo