在asp.net中如何从视频文件中抓取一桢并生成图像文件

  我们经常为图片生成缩略图,在windows中视频在察看缩略图的时候也显示出图片来,如果作一个视频系统,那么用户上传上来的视频,如何为其生成缩略图呢?要想操作视频文件,通常所用的方法就是DirectX里面的DriectShow,用它就可以实现抓屏,抓图,抓视频的功能,想到这,又惊奇于ms演示的vista下的app那绚的3d效果.

  要想在.net中使用DirectShow,所做的第一件事情是需要一个程序集,这个程序集可以帮你完成.net对directshow的调用,而且您不需要用com,省却注册过程,这个assembly的名字为:Interop.DexterLib.dll, 它象其他dll,只需添加引用即可。

  利用这个dll,封装了一个类,利用这个类您就可以方便的生成video的缩略图了,而且适用于winform,也适用于 asp.net。

  效果如下:

  winform:


  asp.net:

时间: 2024-10-22 20:31:17

在asp.net中如何从视频文件中抓取一桢并生成图像文件的相关文章

ASP.NET中如何从视频文件中抓取一桢并生成图像文件

asp.net 前几天参加tech-ed大会,其实更多的是认识了一些志同道合的朋友,ms的课程往往是蜻蜓点水,因此听起课来也没有什么意思.不过,有幸认识了园子里面的一些朋友,深感欣慰.技术人员真的非常容易接触,我们能很快的切入主题,然后进行探讨.这也许正是技术人员单纯的一面吧.这两天,又换了新单位,感觉换来换去,实在没有意思.记得刚开始工作的时候,老板对我说不要换来换去的,当时我还和别人说这个,没想到自己却沦落到这一步.一直想寻找一个好的团队,好的东家,但一直没有如愿.不知道现下的会如何,但目前

asp.net从视频文件中抓取一桢并生成图像文件的方法

前几天参加tech-ed大会,其实更多的是认识了一些志同道合的朋友,ms的课程往往是蜻蜓点水,因此听起课来也没有什么意思.不过,有幸认识了园子里面的一些朋友,深感欣慰.技术人员真的非常容易接触,我们能很快的切入主题,然后进行探讨.这也许正是技术人员单纯的一面吧.这两天,又换了新单位,感觉换来换去,实在没有意思.记得刚开始工作的时候,老板对我说不要换来换去的,当时我还和别人说这个,没想到自己却沦落到这一步.一直想寻找一个好的团队,好的东家,但一直没有如愿.不知道现下的会如何,但目前看来并不乐观,我

Android中如何获取视频文件的截图、缩略图_Android

背景 公司最近要求给我负责的APP加上视频录制和发布的功能,我简单的完成了基本的录制和视频压缩功能,后来发现发布接口需要上传视频的截图,网上搜索了一下资料,在这里整理一下. 代码实现 /** * 获取视频文件截图 * * @param path 视频文件的路径 * @return Bitmap 返回获取的Bitmap */ public static Bitmap getVideoThumb(String path) { MediaMetadataRetriever media = new Me

c#中如何删除csv文件中除表头以外的数据

问题描述 c#中如何删除csv文件中除表头以外的数据 我想实现这样的动作,就是在每次向csv文件写数据的时候,都先把csv文件内的内容清空,但是要保留csv的表头.不知道有没有比较方便的做法? 解决方案 先用 StreamReader.ReadLine() 把第一行读到变量中.然后用覆盖的方式写第一行.写后续的数据. 又:数据多少列都确定了,表头不也确定的,直接写就行了. 解决方案二: 你可以简单的就是删除文件从第二行开始的内容 解决方案三: 按你的意思,你是搞1个csv然后丢1个. 那你在写第

c++-文件的读写,会将类对象的数据成员写入文件中。能将文件中的信息读入类对象的对应属性中。

问题描述 文件的读写,会将类对象的数据成员写入文件中.能将文件中的信息读入类对象的对应属性中. 情况一:无get,set,无<< >>重载函数的情况下如何将类对象的各个数据成员写入某个文件中(提示:可以在print函数中写代码). 情况二:当程序包含get,set函数而无<< >>重载函数时,如何将类对象的数据成员写入文件中. 情况三:当程序包含<< >>重载函数时,如何将类对象的数据成员写入文件中. 解决方案 大神在哪里,求,求大神

字体-C#中如何判断TTF文件中是否包含某个字符

问题描述 C#中如何判断TTF文件中是否包含某个字符 如图,所要实现的功能就是根据输入的文字,生成相应字体的图片预览,用的是Graphics.DrawString方法,但是遇到字体中没有的字符,会以其他字体显示出来,这里想要的功能就是如何判断字库文件里有没有这个字,如果没有统一替换成一个圆圈符号.没有头绪,网上看到用其他语言实现的,但是真的新手,不会调用,想知道C#下怎么实现这个功能. 解决方案 http://stackoverflow.com/questions/103725/is-there

getegid函数-请问getegid这个函数在vc中的哪个头文件中

问题描述 请问getegid这个函数在vc中的哪个头文件中 请问vc中有这个函数吗,有的话是在哪个头文件中呢,没有的话是用什么代替呢?我在msdn上搜过,那上面显示头文件是,但是我试了一下显示没有这个头文件的错误信息. 解决方案 参考C语言getegid()函数:获得组识别码 是C语言,没有说是VC. 头文件: #include <unistd.h> #include <sys/types.h> 定义函数:gid_t getegid(void); 函数说明:getegid()用来取

springmvc-mybatis中,在xml文件中使用selectKey抛出异常

问题描述 mybatis中,在xml文件中使用selectKey抛出异常 如题: 为什么会出现这种异常呢?我把这个去了,运行tomcat没有问题. 解决方案 你想要主键应该这么写 <!-- 插入 --> <!-- useGeneratedKeys设置为"true"表明要MyBatis获取由数据库自动生成的主键:keyProperty="id"指定把获取到的主键值注入到Employeer的id属性 --> <insert id="

serv u-serv-u 15中如何设置对文件中的某个文件夹单独的完全访问权限

问题描述 serv-u 15中如何设置对文件中的某个文件夹单独的完全访问权限 比如建立一个test用户可以E盘下面的123文件夹完全访问,而对E盘其他文件夹只具有可读,这个怎么设置,我在目录访问中设置按照顺序为如下: E:123 RWADN-LCRNI E: R---L---I 但是我删除123文件夹中的文件还是提示没有权限