当前位置: 首页 > news >正文

邢台网站制作公司河北邯郸移动网站建设

邢台网站制作公司,河北邯郸移动网站建设,wordpress清除多余附件,凡科建站官网需要什么篇首,完全没有技术含量的帖子,高手略过,只为十几年后重新捡起的我爱好玩玩。。。 起因,一个朋友说他下载了很多短视频,但只需要要其中的一小截,去头掐尾,在软件里搞来搞去太麻烦,让…

篇首,完全没有技术含量的帖子,高手略过,只为十几年后重新捡起的我爱好玩玩。。。

起因,一个朋友说他下载了很多短视频,但只需要要其中的一小截,去头掐尾,在软件里搞来搞去太麻烦,让我帮忙,我这个编程二吊子爽快的接了下来。

还是一二三理清思路,方案就用ffmpeg,命令行剪辑生成新视频,c#做个集成一键处理。。

一,采用预置数据data.txt,记录【视频文件名,起点时间,终止时间】,此为单独一行,多个文件就多行,如下图

二,一个videocut类

class VideoCut{public string file;public string begin;public string end;public VideoCut(string f,string b,string w){file = f;begin = b;end = w; }}

三,解析数据文件data.txt,生成videocut的列表

            

count = 0;listbox.Items.Clear();logno("开始解析数据文件....");if (!System.IO.File.Exists("data.txt")){log("找不到数据文件data.txt");return;}List<VideoCut> list = new List<VideoCut>();string[] ary;TimeSpan begin;TimeSpan end;int i = 0;foreach (string line in System.IO.File.ReadLines("data.txt")){ary = line.Trim().Split(',');log("第" + ++i + "行:" + line.Trim());if(ary.Length!=3){log("数据:"+line.Trim()+",格式不对");continue;}if (!System.IO.File.Exists(ary[0])){log("文件:"+ary[0].Trim()+",不存在");continue;}if (!TimeSpan.TryParse(ary[1].Trim(), out begin)){log("起点时间:" + ary[1].Trim() + ",格式不对");continue;}if (!TimeSpan.TryParse(ary[2].Trim(), out end)){log("截止时间:" + ary[2].Trim() + ",格式不对");continue;}if (end <= begin){log("截止时间应该大于起点时间!!!!!");continue;}list.Add(new VideoCut(ary[0], ary[1], (end-begin).ToString()));}logno("解析数据文件完毕,成功解析文件:"+list.Count+"个...");if (list.Count < 1){log("没有数据,退出");}

 四,一个ffmpeg的剪辑类

class FFMEPG{//视频切割public static string Cut(string OriginFile/*视频源文件*/, string startTime/*开始时间*/, string endTime/*结束时间*/){string DstFile = OriginFile.Replace(".", "a.");string strCmd = " -ss "+ startTime+" -i " + OriginFile + " -to " +endTime+ " -vcodec copy -acodec copy " + DstFile + " -y ";if (System.IO.File.Exists(DstFile))System.IO.File.Delete(DstFile);System.Diagnostics.Process p = new System.Diagnostics.Process();p.StartInfo.FileName = "ffmpeg.exe";//要执行的程序名称p.StartInfo.Arguments = " " + strCmd;p.StartInfo.UseShellExecute = false;p.StartInfo.RedirectStandardInput = false;//可能接受来自调用程序的输入信息p.StartInfo.RedirectStandardOutput = false;//由调用程序获取输出信息p.StartInfo.RedirectStandardError = false;//重定向标准错误输出p.StartInfo.CreateNoWindow = false;//不显示程序窗口p.Start();//启动程序p.WaitForExit();//等待程序执行完退出进程if (System.IO.File.Exists(DstFile)){return DstFile;}return "";}}

五,循环调用videocut列表

VideoCut c;string file;for (i = 0; i < list.Count; i++){logno("开始剪切第【" +i + "】个文件...");c=list[i];file = FFMEPG.Cut(c.file, c.begin, c.end);if (file.Length > 0){log("剪切成功,输出文件:"+file);}else log("剪切失败.....");}log("");log("");log("剪切完成......");

六,大致就这样了,运行如下图

 ffmpeg命令要能够调用哈,放到同目录或都windows系统目录都行。。。

源代码已经上传,可以下载到。。。

http://www.yayakq.cn/news/750914/

相关文章:

  • 网站改域名如何做百度优化苏州建设工程交易中心网站
  • 高校 网站建设实施方案wordpress 数据库管理
  • 免费logo设计图案创意做网站不带优化的吗
  • 企业集团网站建设方案国外设计网站怎么登陆
  • 网站建设多少钱鞋试用型网站
  • 辽阳企业网站建设服务枣庄建网站的公司
  • 长沙建网站的公司一对一定制方案微信企业推广
  • 临淄信息港最新招聘seo网站推广全程实例
  • 德清网站制作广州做英文网站的公司
  • dw如何做商业网站互联网推广营销隐迅推我选
  • 网站建设包含哪些网站程序是什么
  • 重庆荣昌网站建设简单网页制作html
  • 多平台推广seo网站快速排名软件
  • seo网站分析报告做淘宝网站买个模版可以吗
  • 益阳公司网站建设网页无法访问6
  • 门户网站开发难点网站建设项目采购合同
  • 网站开发的主要内容设计人才网官网
  • 网站开发为什么需要域名公众号推广怎么做
  • 电商首页设计图烟台软件优化网站建设
  • 大学生个人网站作品如何用wordpress建众创平台
  • 德州公司做网站建筑公司注册资金最低多少
  • 简述网站开发步骤wordpress插件的意义
  • 网站的建设与管理网站建设个人网银
  • 上海网站建设规划室内设计网课平台哪个好
  • 广东企业网站seo点击软件网站建设工程师 html5
  • 重庆网站建设培训学校网站域名收费吗
  • 如何运用企业官方网站做宣传织梦 调用网站地址
  • 网站建设 印花税营销网站制作哪家好
  • 企业网站的概念如何做提升自己的网站
  • 网站制作旅行社软件下载网站开发