热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ffmpeg使用心得多张图片处理视频,免安装,快速嵌入到客户端程序事例。

公司突然要求让自动根据图片生成视频,测试了opencvSharp以及ffmpeg,最后发现还是ffmpeg更方便简洁,走了不少弯路代码和思路记下来,方便自己和大家。第一步:去官方下

公司突然要求让自动根据图片生成视频,测试了opencvSharp以及ffmpeg,最后发现还是ffmpeg更方便简洁,走了不少弯路 代码和思路记下来,方便自己和大家。

第一步:去官方下载ffmpeg,把ffmpeg.exe放在指定位置。

第二步 编辑cmd命令执行

 

1 //打开ffmpeg.exe所在目录文件夹
2 string opendic = "cd "+ Application.StartupPath;
3 str.Add(opendic);
4 //第二部启动该exe
5 string startexe = "start ffmpeg.exe";
6 str.Add(startexe);
7 //string str2 = CMDHelper.ExeCommand(str12);
8 string vediopath = localdicpath + "\\" + ExpandMethods.DateTimeToLongTimeStamp(DateTime.Now) + ".mp4";
9 //第三步 执行命令 本条命令就是循环图片所在文件夹,生成10s视频
10 string executecommon = string.Format("ffmpeg -loop 1 -f image2 -i {0} -vcodec libx264 -r 2 -t 10 {1}", localdicpath+"\\image%d.jpg", vediopath);
11 str.Add(executecommon);
12 //开始执行命令
13 string status = CMDHelper.ExeCommand(str.ToArray());

View Code

 

第三步,开始执行cmd命令

 

1 public static string ExeCommand(string[] commandTexts)
2 {
3 Process p = new Process();
4 p.StartInfo.FileName = "cmd.exe";
5 p.StartInfo.UseShellExecute = false;
6 p.StartInfo.RedirectStandardInput = true;
7 p.StartInfo.RedirectStandardOutput = true;
8 p.StartInfo.RedirectStandardError = true;
9 p.StartInfo.CreateNoWindow = true;
10 string strOutput = null;
11 string eOut = null;
12 try
13 {
14
15 p.Start();
16
17 foreach (string item in commandTexts)
18 {
19 p.StandardInput.WriteLine(item);
20 }
21 p.StandardInput.WriteLine("exit");
22 p.StandardInput.Close();
23 p.BeginErrorReadLine();
24 p.ErrorDataReceived += new DataReceivedEventHandler(
25 (sender, e) => { eOut += e.Data; });
26 p.OutputDataReceived += new DataReceivedEventHandler(
27 (sender, e1) => { strOutput += e1.Data; });
28 strOutput = p.StandardOutput.ReadToEnd();
29 strOutput = p.StandardOutput.ReadToEnd();
30 //var output = new List();
31 //while (p.StandardOutput.Peek() > -1)
32 //{
33 // output.Add(p.StandardOutput.ReadLine());
34 //}
35
36 //while (p.StandardError.Peek() > -1)
37 //{
38 // output.Add(p.StandardError.ReadLine());
39 //}
40 p.WaitForExit();
41
42
43 p.Close();
44 if (string.IsNullOrEmpty(strOutput))
45 {
46 strOutput = "ok";
47 }
48
49 }
50 catch (Exception e)
51 {
52 strOutput = e.Message;
53 }
54 return strOutput;
55 }

View Code

 

 好了 到此视频就生成成功了,我感觉这是最方便的视频图片处理方法,我们是客户端程序,省去用户安装,只要大家在学习一些cmd命令就可以方便快速便捷的处理视频。希望对大家有帮助



推荐阅读
  • 解决Pytesser模块在Windows环境下出现的错误
    本文详细探讨了如何解决在Windows环境中使用Pytesser模块进行OCR(光学字符识别)时遇到的WindowsError错误,提供了具体的解决方案。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 本文将深入探讨 Unreal Engine 4 (UE4) 中的距离场技术,包括其原理、实现细节以及在渲染中的应用。距离场技术在现代游戏引擎中用于提高光照和阴影的效果,尤其是在处理复杂几何形状时。文章将结合具体代码示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 在使用 Nginx 作为服务器时,发现 Chrome 能正确从缓存中读取 CSS 和 JS 文件,而 Firefox 却无法有效利用缓存,导致加载速度显著变慢。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]
  • CSS Border 属性:solid 边框的使用详解
    本文详细介绍了如何在CSS中使用solid边框属性,包括其基本语法、应用场景及高级技巧,适合初学者和进阶用户参考。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 本文详细介绍了如何在Windows操作系统中配置和使用Lex(Flex)与Yacc(Bison),包括软件的下载、安装以及通过示例验证其正确性的步骤。 ... [详细]
  • 本文介绍了如何在不同操作系统上安装Git,以及一些基本和高级的Git操作,包括项目初始化、文件状态检查、版本控制、分支管理、标签处理、版本回退等,并简要提及了开源许可协议的选择。 ... [详细]
  • 本文介绍如何通过参数化查询来防止SQL注入攻击,确保数据库的安全性。示例代码展示了在C#中使用参数化查询添加学生信息的方法。 ... [详细]
  • RTThread线程间通信
    线程中通信在裸机编程中,经常会使用全局变量进行功能间的通信,如某些功能可能由于一些操作而改变全局变量的值,另一个功能对此全局变量进行读取& ... [详细]
  • Oracle 10g 和 11g 32位 OCI.DLL 文件下载
    32位 PL/SQL Developer 访问 64位 Oracle 11g 数据库时,需要使用 32位的 OCI.DLL 文件以确保正常连接和数据访问。本文将详细介绍如何获取并配置此文件。 ... [详细]
author-avatar
缘zhi韵_297
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有