asp.net实现调用ffmpeg实现视频格式的转换
视频格式转换的函数
//视频转换
public void VideoConvertFlv(string FromName, string ExportName)
{ string ffmpeg = HttpContext.Current.Server.MapPath("~/UploadFiles/FLV/ffmpeg.exe");
FromName = HttpContext.Current.Server.MapPath(FromName);
ExportName = HttpContext.Current.Server.MapPath(ExportName);
string Command = " -i \"" + FromName + "\" -y -ab 32 -ar 22050 -b 800000 -s 480*360 \"" + ExportName + "\""; //Flv格式
//string Command = " -i \"test.wmv\" -y -ab 32 -ar 22050 -b 800000 -s 320*240 \"2.flv\""; //string Command = "E:\\FFmpeg\\ffmpeg.exe -i E:\\ClibDemo\\VideoPath\\admin\\a.wmv -y -ab 56 -ar 22050 -b 500 -r 15 -s 320*240 " ExportName;
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = ffmpeg;
p.StartInfo.Arguments = Command;
p.StartInfo.WorkingDirectory = HttpContext.Current.Server.MapPath("~/UploadFiles/FLV/");
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = false;
//开始执行
p.Start();
p.BeginErrorReadLine();
p.WaitForExit();
p.Close();
p.Dispose();
}
调用视频格式转换
protected void btnSaveUploadVod_Click(object sender, EventArgs e)
{
string fileName = txtATitle.Text;//上传文件的名称的命名规则是标题
bool flag = true; //视频格式是否正确的标志
if (fileName.Equals(""))
{
Response.Write("<script>alert('请先填写标题!')</script>");
}
else
{
filePathTemp = "UploadFiles/武夷概况/视频";
string fpath = Path.Combine(Request.PhysicalApplicationPath, filePathTemp);
UploadFile upFile = AspnetUpload.GetUploadFile("file2");
if (upFile != null)
{
string sourceFileName = Path.GetFileName(upFile.get_FileName()); //取出上传的视频的文件名,进而取出该文件的扩展名
string extendName = sourceFileName.Substring(sourceFileName.LastIndexOf(".") + );
//上传后的文件名的命名规则是:标题+数字+后缀
if (!isAllowedVodType(extendName))
{
flag = false;
}
else
{ VodWarehouseManage vodWarehouseBll = new VodWarehouseManage();
//先上传到服务器,然后转换格式,最后删掉原来非FLV格式的视频
//上传后的文件名的命名规则是:标题+后缀
string fileNameTemp = fileName + "." + extendName;
string savePath = filePathTemp + "/" + fileNameTemp;
upFile.SaveAs(Path.Combine(fpath, fileNameTemp));
if (!extendName.ToLower().Equals("flv"))
{//进行视频转换 //调用视频转换函数将其它格式的视频转为FLV格式的视频
string fromName = "~/" + savePath;
string exportName = "~/" + filePathTemp + "/" + fileName + ".flv";
// Response.Write("<script>alert('fromName=" + fromName + " and exportName=" + exportName + "')</script>"); //转换视频格式
VideoConvertFlv(fromName, exportName); //删除非FLV格式的视频
vodWarehouseBll.DeleteFile(Path.Combine(fpath, fileNameTemp)); savePath = filePathTemp + "/" + fileName + ".flv"; } //保存视频的信息
VodWarehouse vodWarehouse = new VodWarehouse();
vodWarehouse.VodSortId = ;//1代表媒体的类型为武夷概况
vodWarehouse.VodPath = savePath;
vodWarehouse.AttachId = Int32.Parse(articleId.Value);//隐藏域中的值 if (vodWarehouseBll.SaveVodsInfo(vodWarehouse) == false)
{
Response.Write("<script>alert('保存视频的过程出错!')</script>");
}
else
{
//Response.Write("<script>alert('视频上传成功!')</script>");
//将上传的路径写入相应的上传文本框中 }
}
}//end foreach if (flag == true)
{
this.upLoadVodResult.Text = "视频上传成功";
this.vodPannel.Visible = false;
}
else
{
//this.upLoadVodResult.Text = "您选择的视频的格式不正确,请确保您的视频的格式是:flv/mov/wmv/avi/mp4";
Response.Write("<script>alert('您选择的视频的格式不正确,请确保您的视频的格式是:flv/mov/wmv/avi/mp4!')</script>");
}
}
}
asp.net实现调用ffmpeg实现视频格式的转换的更多相关文章
- C#使用FFmpeg 将视频格式转换成Gif图片示例
根据EFmpeg封装的视频转换gif工具:https://my.oschina.net/tianma3798/blog/825317 一.本次使用参数说明 /* * 参数说明: * -i 源文件位置 ...
- 如何使用java代码进行视频格式的转换(FLV)
如何使用java代码进行视频格式的转换(FLV) 一,前言 在给网页添加视频播放功能后,发现上传的视频有各种格式,那么就需要将他么转换成FLV,以很好的支持在线视频播放. 公司一直在使用中,配合使用, ...
- java程序实现视频格式的转换
http://blog.sina.com.cn/s/blog_96b60b0c01013mi5.html 原文地址:java程序实现视频格式的转换作者:笑看风云 flv格式转换--第一步 不定期更新. ...
- ASP.NET下调用ffmpeg与mencoder实现视频转换截屏
最近要做一个视频播放的系统,用到了ffmpeg和mencoder两个工具,查了一些资料,发现这方面的资料还挺多的,但是就是乱了一点,我自己从头整理了一下,和大家分享一下: 1.ffmpeg实现视频(a ...
- NET 2.0(C#)调用ffmpeg处理视频的方法
另外:ffmpeg的net封装库 http://www.intuitive.sk/fflib/ NET 2.0 调用FFMPEG,并异步读取输出信息的代码...public void ConvertV ...
- Java调用ffmepg+mencoder视频格式转换(*)
PS: 建议大家在官网下载最新的资源 其他格式转FLV格式,可以用Java调用ffmpeg和memcoder实现 ffmepg: D:\ffmpeg\bin\ffmpeg.exe -i E:\1.mp ...
- C#使用FFmpeg 将视频格式转换成MP4示例
一.常用视频格式分辨率 640x480p 720p格式,分辨率为1280×720p / 60Hz,行频为45kHz 1080p格式,分辨率为1920×1080逐行扫描,专业格式 二.FFmpeg部分参 ...
- Java调用FFmpeg进行视频处理及Builder设计模式的应用
1.FFmpeg是什么 FFmpeg(https://www.ffmpeg.org)是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.它用来干吗呢?视频采集.视频格式转化.视频 ...
- ffmpeg转换参数和对几种视频格式的转换分析
我们在将多种格式的视频转换成flv格式的时候,我们关注的就是转换后的flv视频的品质和大小.下面就自己的实践所得来和大家分享一下,主要针对avi.3gp.mp4和wmv四种格式来进行分析.通常在使用f ...
随机推荐
- php 02
变量的数据类型 一.类型 标量类型: 布尔型 整型 浮点型 字符串 复合类型: 数组 对象 特殊类型: 资源 null 1. 布尔型 true false 以下值认为是false 其他值都认 ...
- Android 在已有工程中实现微信图片压缩
这个我们需要自己去编译,但是已经有人帮我们编译好了,压缩算法也已经实现,因此,我们去下载然后编译即可:https://github.com/bither/bither-android-lib 首先将上 ...
- SpringBoot的快速构建
1.http://start.spring.io2.Spring Tool Suite3.IntelliJ IDEA4.Spring Boot CLI5.Maven手工构建
- 第2章 核心C#
1. 变量 1.1 变量需要遵循的规则: 变量必须初始化 初始化器不能为空 初始化器必须放在表达式中 不能把初始化器设置为一个对象,除非在初始化器中创建了一个新对象 1.2 变量的作用域 只要类在某个 ...
- javascript的Array.prototype.map()和jQuery的jQuery.map()
两个方法都可以根据现有数组创建新数组,但在使用过程中发现有些不同之处 以下面这个数据为例: var numbers = [1, 3, 4, 6, 9]; 1. 对undefined和null的处理 a ...
- 联动选择通过ajax获取选择对应的数据
网站有时候需要这种联动然后获取到想对应的数据 思路: 这种的话就是你每次选择哪一个就将这个设置一个标注 表示你现在选择的是哪一个 然后每选择一次就进行一次ajax查询,ajax里面有一个data里面添 ...
- UOJ#130 【NOI2015】荷马史诗 K叉哈夫曼树
[NOI2015]荷马史诗 链接:http://uoj.ac/problem/130 因为不能有前缀关系,所以单词均为叶子节点,就是K叉哈夫曼树.第一问直接求解,第二问即第二关键字为树的高度. #in ...
- pytho线程信号量
pytho线程信号量 import threading,time def going(num,sleep_time): semaphore.acquire()#启动允许执行 print("g ...
- CUDA并行存储模型
CUDA将CPU作为主机(Host),GPU作为设备(Device).一个系统中可以有一个主机和多个设备.CPU负责逻辑性强的事务处理和串行计算,GPU专注于执行高度线程化的并行处理任务.它们拥有相互 ...
- shell脚本,利用awk计算指定范围内的和。
期望得到结果如下: vivi 42800Tom 32500John 104500 解题方法如下: 1.利用数组来进行解题.