1.下载ffmpeg工具

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Diagnostics;
using System.IO; namespace WebThreadTest
{
public partial class ffmpegTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//将是视频转为SWF格式
//ffmpeg bin目录
string ffmpegBinPath = @"C:\Users\Administrator\Desktop\ffmpeg\bin\";
//需要转化的视频目录
string convertDirPath = Server.MapPath("/resource/ffmpeg"); //开始转化
AllVideoConvertToSWF(convertDirPath,ffmpegBinPath); }
} /// <summary>
/// 将视频转为SWF格式
/// </summary>
/// <param name="ffmpegBinPath">ffmpeg 工具bin 目录</param>
/// <param name="videoSourceFileName">视频完全路径</param>
/// <param name="targetSwfFileName">转为SWF文件完全路径</param>
/// <returns></returns>
private bool VideoConvertToSWF(string ffmpegBinPath, string videoSourceFileName, string targetSwfFileName)
{ try
{
Process process = new Process(); process.StartInfo.FileName = "cmd.exe";//确定程序名 //"cd C:\Users\Administrator\"
string startCommandContent = @"cd C:\Users\Administrator\"; string sCommand = startCommandContent; process.StartInfo.Arguments = sCommand;//确定程式命令行
process.StartInfo.UseShellExecute = false;//Shell的使用
process.StartInfo.RedirectStandardInput = true;//重定向输入
process.StartInfo.RedirectStandardOutput = true;//重定向输出
process.StartInfo.RedirectStandardError = true;//重定向输出错误
process.StartInfo.CreateNoWindow = true;//设置置不显示示窗口
process.Start();//00
process.StandardInput.WriteLine(sCommand);//也可以用这种方式输入入要行的命令 //"cd C:\Users\Administrator\Desktop\ffmpeg\bin\"
string commandCDFfmpegBin = @"cd {0}"; commandCDFfmpegBin = string.Format(commandCDFfmpegBin, @ffmpegBinPath); process.StandardInput.WriteLine(@commandCDFfmpegBin); //如果码特率太多转化出错
//@"ffmpeg -i C:\Users\Administrator\Desktop\ffmpeg\test.avi -to 00:30 c:\ttt.avi"; //规定一定的码特率
//ffmpeg -i C:\Users\Administrator\Desktop\ffmpeg\test.avi -to 00:30 -ar 22050 -y c:\ccc.avi string commandVideoContent = @"ffmpeg -i {0} -to 00:10 {1}"; commandVideoContent = string.Format(commandVideoContent, @videoSourceFileName, @targetSwfFileName); process.StandardInput.WriteLine(@commandVideoContent); process.StandardInput.WriteLine("exit");//要得加上Exit要不然下一行程式 //string result = process.StandardOutput.ReadToEnd(); //输出出流取得命令行结果 //Response.Write(result); return true; }
catch (Exception ex)
{
Response.Write(@videoSourceFileName + "转为WSF文件失败<br />");
Response.Write(ex.Message + "<br />"); return false; } } /// <summary>
/// 列出指定目录下及所其有子目录及子目录里更深层目录里的文件中的视频文件进行转化
/// </summary>
/// <param name="convertDirPath">需要转化的视频目录路径</param>
/// <param name="ffmpegBinPath">转化工具ffmpeg bin目录路径</param>
public void AllVideoConvertToSWF(string convertDirPath, string ffmpegBinPath)
{
DirectoryInfo dir = new DirectoryInfo(convertDirPath); string exts = ".avi,.mp3,.mp4,.rmvb,.rm,.wmv,.3gp,.amv,.mov"; //找到该目录下的文件
FileInfo[] fi = dir.GetFiles(); foreach (FileInfo f in fi)
{ string extension = Path.GetExtension(f.FullName); int extenIndex = f.FullName.LastIndexOf(extension); string beforeName = f.FullName.Remove(extenIndex); string swfFileName = beforeName + ".swf"; if (System.IO.File.Exists(swfFileName))
{
continue;
} string ext = Path.GetExtension(f.FullName).ToLower(); if (exts.Contains(ext))
{
try
{
bool isSuccess = VideoConvertToSWF(ffmpegBinPath, f.FullName, swfFileName);
Response.Write("完整路径:" + f.FullName.ToString() + " 生成SWF文件路径:" + swfFileName + " 生成状态:" + isSuccess.ToString() + "<br>");
}
catch (Exception ex)
{
Response.Write("完整路径:" + f.FullName.ToString() + " 生成错误:" + ex.Message + "<br>");
} }
} //获取子目录
DirectoryInfo[] subDir = dir.GetDirectories(); foreach (var d in subDir)
{
AllVideoConvertToSWF(d.FullName, ffmpegBinPath);
}
}
}
}

C# ffmpeg工具将视频转为SWF格式的更多相关文章

  1. 腾讯qlv视频转为MP4格式工具

    本文解决上一篇<优酷爱奇艺视频转换为MP4格式工具>留下的腾讯视频qlv转MP4格式问题,教程都是一步步亲手操作的,每一步都有配图.希望各位老板多转发分享,谢谢! 解压软件.(建议关闭所有 ...

  2. 使用PhotoShop将视频转为gif格式

    由于文档中不方便上传视频,尤其是一些短视频,将其制作成gif格式更便于浏览,刚好PhotoShop中有这种功能,笔者在这里分享一下. 在PS中打开需要转换格式的视频文件,选择文件选项导出中的导出为We ...

  3. 在java中使用ffmpeg将amr格式的语音转为mp3格式

    ffmpeg是一个非常强大的音视频处理工具,官网是:http://ffmpeg.org/. 由于ffmpeg在windows上和linux系统上的执行文件不一样(Windows上不需要安装ffmpeg ...

  4. Java将视频转为缩略图--ffmpeg

    Java生成视频缩略图 对于上传视频生成缩略图使用的是ffmpeg进行生成的. 自己在网上找了如何进行编译ffmpeg的方法 但是感觉太复杂了 就到csdn上找到了编译好的ffmpeg文件 体会到ff ...

  5. 树莓派环境下使用python将h264格式的视频转为mp4

    个人博客 地址:https://www.wenhaofan.com/a/20190430144809 下载安装MP4Box 命令行下执行以下指令安装MP4Box   sudo apt-get inst ...

  6. 视频专家之路【二】:ffmpeg工具的使用

    本文是听了雷宵骅大神的课之后的总结,部分内容借用了其PPT的内容,如有侵权请告知删除. 雷宵骅大神的博客为:https://blog.csdn.net/leixiaohua1020 要学习汽修,那么首 ...

  7. (转载)[FFmpeg]使用ffmpeg从各种视频文件中直接截取视频图片

    你曾想过从一个视频文件中提取图片吗?在Linux下就可以,在这个教程中我将使用ffmpeg来从视频中获取图片. 什么是ffmpeg?What is ffmpeg? ffmpeg是一个非常有用的命令行程 ...

  8. 关于FFmpeg工具的使用总结

    FFmpeg官网:http://ffmpeg.org/ 安装ffmpeg: http://www.cnblogs.com/freeweb/p/6897907.html 主要参数: -i 设定输入流 - ...

  9. FFmpeg工具使用总结

    . 一. FFmpeg是什么? 简单说,FFmpeg就是一个很好的,免费的,开源的视频转换工具.详细说,FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依 ...

随机推荐

  1. scipy积分 integral

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/5/24 15:03 # @Author : zhang chao # @Fi ...

  2. 几种实现one-hot编码的方式

    方法1 之前写使用sklearn进行数据挖掘-房价预测(4)-数据预处理一文中处理标签类特征时候已经提到过,使用sklearn中提供的LabelEncoder和OneHotEncoder方法 a = ...

  3. Tomcat server.xml中Connector配置参数详解

    Tomcat中Connector常用配置 Tomcat中server.xml有些配置信息是需要我们了解的,最起码知道如何进行简单的调试. <Connector port="8080&q ...

  4. BZOJ2724 [Violet]蒲公英(分块)

    区间众数.分块,预处理任意两块间所有数的众数,和每块中所有数的出现次数的前缀和.查询时对不是整块的部分暴力,显然只有这里出现的数可能更新答案.于是可以优美地做到O(n√n). #include< ...

  5. MT【29】介绍向量的外积及应用举例

    我们在学校教材里学到的数量积(内积)其实还有一个孪生兄弟向量积(外积),这个对参加自主招生以及竞赛的学生来讲是需要掌握的,这里稍作介绍: 原理: 例题: 应用:

  6. 洛谷 P3102 [USACO14FEB]秘密代码Secret Code 解题报告

    P3102 [USACO14FEB]秘密代码Secret Code 题目描述 Farmer John has secret message that he wants to hide from his ...

  7. k8s常用命令

    K8s一些命令:通过yaml文件创建:kubectl create -f xxx.yaml (不建议使用,无法更新,必须先delete)kubectl apply -f xxx.yaml (创建+更新 ...

  8. Codeforces 382 D Permutations

    题目大意: 给出一张二分图,这张二分图完美匹配的个数是奇数,求删掉第$i(1<=i<=m)$条边后完美匹配个数的奇偶性. 设这张图的邻接矩阵为$A$,那么完美匹配的个数为$A$的积和式,即 ...

  9. Libre 6012 「网络流 24 题」分配问题 (网络流,费用流)

    Libre 6012 「网络流 24 题」分配问题 (网络流,费用流) Description 有n件工作要分配给n个人做.第i个人做第j件工作产生的效益为\(c_{ij}\).试设计一个将n件工作分 ...

  10. 【ATcoder】Xor Sum 2

    题目大意:给定一个 N 个点的序列,求有多少个区间满足\(\oplus_{i=l}^ra[i]=\sum\limits_{i=l}^ra[i]\). 题解: 小结论:\(a\oplus b=a+b\r ...