用ffmpeg从视频中截图(c#源代码)

2008-7-16 18:47:07 作者:iuhxq 人气:
标签:ffmpeg(4) mencoder(2) 视频截图(1) c#(168)

ffmpeg下载地址:http://www.svnhost.cn/Download/Detail-195.shtml

C#实现代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ExeCommand(
"e:/ffmpeg/ffmpeg -i e:/kiss.wma -y -ss 00:00:31 -vframes 1 -an -sameq -f mjpeg e:/kiss.jpg");
Console.Read();
}


///
/// 执行cmd.exe命令
///
///命令文本
/// 命令输出文本
public static string ExeCommand(string commandText)
{
return ExeCommand(new string[] { commandText });
}
///
/// 执行多条cmd.exe命令
///
///命令文本数组
/// 命令输出文本
public static string ExeCommand(string[] commandTexts)
{
Process p
= new Process();
p.StartInfo.FileName
= "cmd.exe";
p.StartInfo.UseShellExecute
= false;
p.StartInfo.RedirectStandardInput
= true;
p.StartInfo.RedirectStandardOutput
= true;
p.StartInfo.RedirectStandardError
= true;
p.StartInfo.CreateNoWindow
= true;
string strOutput = null;
try
{
p.Start();
foreach (string item in commandTexts)
{
p.StandardInput.WriteLine(item);
}
p.StandardInput.WriteLine(
"exit");
strOutput
= p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
}
catch (Exception e)
{
strOutput
= e.Message;
}
return strOutput;
}
///
/// 启动外部Windows应用程序,隐藏程序界面
///
///应用程序路径名称
/// true表示成功,false表示失败
public static bool StartApp(string appName)
{
return StartApp(appName, ProcessWindowStyle.Hidden);
}
///
/// 启动外部应用程序
///
///应用程序路径名称
///进程窗口模式
/// true表示成功,false表示失败
public static bool StartApp(string appName, ProcessWindowStyle style)
{
return StartApp(appName, null, style);
}
///
/// 启动外部应用程序,隐藏程序界面
///
///应用程序路径名称
///启动参数
/// true表示成功,false表示失败
public static bool StartApp(string appName, string arguments)
{
return StartApp(appName, arguments, ProcessWindowStyle.Hidden);
}
///
/// 启动外部应用程序
///
///应用程序路径名称
///启动参数
///进程窗口模式
/// true表示成功,false表示失败
public static bool StartApp(string appName, string arguments, ProcessWindowStyle style)
{
bool blnRst = false;
Process p
= new Process();
p.StartInfo.FileName
= appName;//exe,bat and so on
p.StartInfo.WindowStyle = style;
p.StartInfo.Arguments
= arguments;
try
{
p.Start();
p.WaitForExit();
p.Close();
blnRst
= true;
}
catch
{
}
return blnRst;
}
}
}

 

使用协议 - VIP服务 - 在线支付 - 联系我们 - 帮助文档 - Bug Report - 书签服务 - 联系电话:15079690152