网站首页 博客 C#调用ffmpeg获取视频,音频的时长
C#调用ffmpeg获取视频,音频的时长
 2017-08-28 16:00:16  管理员  1863

成员属性定义

private string ffmpeg = "D:/tools/ffmpeg.exe"; //ffmpeg路径
private string logtext = ""; //日志文字
private string curr_duration = ""; //视频时长,格式00:08:50
private string transit_fullpath = "E:/video/test.mp4"; //原始文件

获取视频、音频的时长

System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = this.ffmpeg;
p.StartInfo.Arguments = " -i " + this.transit_fullpath;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
p.StartInfo.RedirectStandardError = true;
p.Start();
StreamReader errorreader = p.StandardError;
p.WaitForExit(1000);
string result = errorreader.ReadToEnd();
try
{
    this.curr_duration = result.Substring(result.IndexOf("Duration: ") + ("Duration: ").Length, ("00:00:00").Length);
    this.logtext = "成功。" + this.curr_duration  + "\r\n";
    //do something
}
catch (Exception ex)
{
    this.curr_duration = "";
    this.logtext = "失败。"+ ex.Message +"\r\n";
    //do something
}


来说两句吧
最新评论