如何使用LEADTOOLS将视频转换为GIF动画:25天25个项目

发布时间:2016/12/28 00:12 发布者:Richard.Ma

返回博客中心

25天收集25个项目来展示LEAD功能强度和易用性”的活动。今天要展示的项目来自于哈迪的分享。

将视频转换为GIF 动画截图

clip_image001[3]

进行中的视频转换为GIF 动画截图

clip_image002_thumb

 

它是做什么的

使用LEADTOOLS多媒体第19版,该C#编写的WinForms应用程序可以将视频转换为GIF动画。

 

所使用的功能

· Multimedia Conversion

· Still Image Filters

· Formats

 

 

开发进程日志

大家好,我是哈迪。我要编写这样一个示例应用程序,该程序可以将任意的媒体文件转换为包含多种选项(如,开始时间、结束时间和帧速率)的GIF文件。

我可以通过以下两种不同的路径来启动该应用程序,其一是我们的DirectShow视频回调,其二是我们的静止图像编写过滤器。

LEADTOOLS的该静止图像编写过滤器是一个比较简单的执行程序,因此我会选择使用它。

我要用我们的ConvertCtrl 来实现这一点,因为它包含对使用静止图像编写器的内置支持。

Documentation: Convert Control

使用LEADTOOLS的多媒体SDK将为我节省很多时间,因为DirectShow是非常初级的水平,还需要我花很多时间去学习和进行编程。

我已经完成了该项目在用户界面方面的工作项目。而且,为简单起见,我已经把它们全部都放在了同一个窗体中。这个过程大约花了我一个小时的时间。

将视频文件转换为GIF动画文件这部分工作我已经完成了。由于LEADTOOLS 的ConvertCtrl 和静止图像编写过滤器处理了其中大部分的工作,这个过程实际上变得很简单,而且只用了半个多小时的时间就完成了。

Documentation: Still Image Writer

现在,我已经实现了用户可以设置的各种属性,例如,开始时间、结束时间和帧速率。

我需要使用的是LEADTOOLS的MediaInfo 类。由于可以通过它轻松地访问视频文件的元数据,再次为我节省了大量的时间。

Documentation: MediaInfo class

我已经基本使得该程序可以运行了。但是,在记住如何使用帧速率控制过滤器方面我遇到一些问题。因此,我还需要回顾一下我们的帮助文档。

Documentation: Frame Rate Control Filter

 

太棒了!终于成功啦!最后,我终于使该帧速率控制过滤器,以及启动时间和结束时间都正常运行了。到此为止,我总共花了4个小时的时间。现在,是时候做一些测试了。

我为程序添加了一些错误检查,以确保无效的参数不能被通过;并且为代码添加了一些注解,以方便于阅读。

我的应用程序已经做好了部署的准备。包括研发在内的整个开发过程,总共花了我5个小时的时间。如果没有LEADTOOLS的帮助,这一切至少要花费我好几个星期,甚至几个月的时间才能完成。

下一次,我要使用我们的视频调整大小过滤器,因为这将会在将媒体文件转换为GIF时给用户更多的设置选择,而且将有助于减小整体文件的尺寸。

Documentation: Video Resize Filter

 

 

下载该项目

该示例项目的源代码您可以点击这里进行下载。

23 iOS Stacked Image Processing.zip (1.03 mb)

要运行该项目,请将其解压缩到该目录下: C:\LEADTOOLS 19\Examples\DotNet\CS directory。

支持

关于其他产品的更多信息,请访问我们的官方网站

欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。

同时欢迎您使用评估版期间的免费技术支持


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网