C#获取视频某一帧的缩略图的方法

 更新时间:2014年11月17日 10:51:45   投稿:shichen2014  
这篇文章主要介绍了C#获取视频某一帧的缩略图的方法,涉及执行CMD命令及针对视频文件操作的技巧,具有一定的实用价值,需要的朋友可以参考下

本文实例讲述了C#获取视频某一帧的缩略图的方法。分享给大家供大家参考。具体实现方法如下:

读取方式:使用ffmpeg读取,所以需要先下载ffmpeg。网上资源有很多。

原理是通过ffmpeg执行一条命令获取视频某一帧的缩略图。

首先,需要获取视频的帧高度和帧宽度,这样获取的缩略图才不会变形。

获取视频的帧高度和帧宽度可以参考:https://www.jb51.net/article/57475.htm

获取到视频的帧高度和帧宽度后,还需要获取缩略图的高度和宽度,这是按比例缩放的。

比如你存放缩略图的区域的最大宽度和最大高度是100,缩略图的高度也应缩放到对应大小。

接下来通过执行一条命令就可以获取到视频某一帧的缩略图:

复制代码 代码如下:
string command = string.Format("\"{0}\" -i \"{1}\" -ss {2} -vframes 1 -r 1 -ac 1 -ab 2 -s {3}*{4} -f image2 \"{5}\"", ffmpegPath, oriVideoPath, frameIndex, thubWidth, thubHeight, thubImagePath);

C#执行命令的方法可以查看:https://www.jb51.net/article/57477.htm

其中:

ffmpegPath为ffmpeg的全路径
oriVideoPath为视频的全路径
 
frameIndex为帧处在的秒数
 
thubWidth为缩略图的宽度
thubHeight为缩略图的高度
thubImagePath为生成的缩略图所在的路径(jpg,bmp好像都可以,具体可以自己尝试)

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • 详解C#如何实现一个安全的事件订阅器

    详解C#如何实现一个安全的事件订阅器

    事件订阅器是一个对象,它订阅(或监听)某个事件,并在事件发生时执行相应的操作,本文主要介绍了C#实现一个安全的事件订阅器的相关知识,感兴趣的可以了解下
    2024-01-01
  • C#随机设置900-1100毫秒延迟的方法

    C#随机设置900-1100毫秒延迟的方法

    这篇文章主要介绍了C#随机设置900-1100毫秒延迟的方法,涉及C#中Thread.Sleep方法的使用技巧,需要的朋友可以参考下
    2015-04-04
  • C# JsonHelper 操作辅助类,拿来直接用

    C# JsonHelper 操作辅助类,拿来直接用

    本文总结了一些常用的JSON操作辅助类,包括转换、判断、Ajax异步等操作,希望能帮到大家。
    2016-05-05
  • C#中抛出异常用法实例

    C#中抛出异常用法实例

    这篇文章主要介绍了C#中抛出异常用法,实例分析了C#使用throw抛出异常的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • C#中关于zip压缩解压帮助类的封装 附源码下载

    C#中关于zip压缩解压帮助类的封装 附源码下载

    之前一个同学问了这个问题后,看了园子里其它园友的封装,都很零碎,调用也不是很方便。所以自己就封装了一个zip解压的类。后来想整理下怕自己忘了。就把压缩的类也一并封装了
    2013-02-02
  • C#设置与获取环境变量的方法详解

    C#设置与获取环境变量的方法详解

    这篇文章主要给大家介绍了关于C#设置与获取环境变量的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • C#组件FormDragger窗体拖拽器详解

    C#组件FormDragger窗体拖拽器详解

    这篇文章主要为大家详细介绍了C#组件FormDragger窗体拖拽器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • C# 控件属性和InitializeComponent()关系案例详解

    C# 控件属性和InitializeComponent()关系案例详解

    这篇文章主要介绍了C# 控件属性和InitializeComponent()关系案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • .Net笔记:System.IO之Stream的使用详解

    .Net笔记:System.IO之Stream的使用详解

    本篇文章是对.Net中System.IO之Stream的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#获取U盘序列号的方法

    C#获取U盘序列号的方法

    这篇文章主要介绍了C#获取U盘序列号的方法,涉及C#针对硬件底层信息操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10

最新评论