.Net视频格式转换器源码 视频格式转为Flv
方便快捷的C#视频格式转换帮助类库,
输入原视频文件地址即可得到转换后的Flv新视频文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace AutoHome.CommonHelper
{
public class VideoConvert
{
//.Net视频格式转换器源码 视频格式转为Flv
#region 转换参数配置
private static string ffmpegtool = GetMapPath("bin/tool/ffmpeg.exe");
private static string mencodertool = GetMapPath("bin/tool/mencoder.exe");
private static string workpath = GetMapPath("bin/tool/");
#endregion
#region 视频格式转为Flv
/// <summary>
/// 视频格式转为Flv
/// </summary>
/// <param name="vFileName">原视频文件地址</param>
/// <param name="ExportName">生成后的Flv文件地址</param>
public static bool ToMp3(string vFileName, string ExportName)
{
try
{
if ((!System.IO.File.Exists(ffmpegtool)) || (!System.IO.File.Exists(vFileName)))
{
return false;
}
string Command = " -i \"" + vFileName + "\" \"" + ExportName + "\"";
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = ffmpegtool;
p.StartInfo.Arguments = Command;
p.StartInfo.WorkingDirectory = workpath;
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();
return true;
}
catch (Exception ex)
{
return false;
}
}
#region 获得当前绝对路径
/// <summary>
/// 获得当前绝对路径
/// </summary>
/// <param name="strPath">指定的路径</param>
/// <returns>绝对路径</returns>
public static string GetMapPath(string strPath)
{
if (strPath.ToLower().StartsWith("http://"))
{
return strPath;
}
if (HttpContext.Current != null)
{
string path = System.Web.HttpContext.Current.Server.MapPath("/") + strPath;
return path;
}
else //非web程序引用
{
strPath = strPath.Replace("/", "\\");
if (strPath.StartsWith("\\"))
{
strPath = strPath.Substring(strPath.IndexOf('\\', 1)).TrimStart('\\');
}
return System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, strPath);
}
}
#endregion
#endregion
}
}