作为LEAD Technologies 25周年纪念的一部分,我们正在搞一个“25天收集25个项目来展示LEAD功能强度和易用性”的活动。今天要展示的项目来自于哈迪的分享。
将视频转换为GIF 动画截图
进行中的视频转换为GIF 动画截图
它是做什么的
使用LEADTOOLS多媒体第19版,该C#编写的WinForms应用程序可以将视频转换为GIF动画。
所使用的功能
· 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
下载该项目
该示例项目的源代码您可以点击这里进行下载。
22 Video to GIF.zip (15.61 kb)
要运行该项目,请将其解压缩到该目录下: C:\LEADTOOLS 19\Examples\DotNet\CS directory。
支持
关于其他产品的更多信息,请访问我们的官方网站,
欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。
同时欢迎您使用评估版期间的免费技术支持。
关于葡萄城
葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。