0

如何使用 emguCV 或 FFmpeg 将有关视频文件的信息(例如:每秒帧数、比特率、帧高度、宽度等)获取到 C# 代码。我正在为我的项目使用 C#.net。

4

1 回答 1

0

也许将 ffmpeg 的 ffprobe.exe(来自 zeranoe 构建)与您的项目一起发送,静默运行并解析其输出?

using System; using System.Diagnostics; using System.Text.RegularExpressions;
namespace MyClientApp
{  public class MyApp
   {  public static void Main()
      {  var proc = new Process { StartInfo = new ProcessStartInfo 
         {   FileName = "ffprobe.exe",         Arguments = "testvideo.mp4",
             UseShellExecute = false,          RedirectStandardError = true, CreateNoWindow = true }
         };    
         proc.Start();
         while (!proc.StandardError.EndOfStream) 
         {  string line = proc.StandardError.ReadLine();
            Match match = Regex.Match(line, @"Video:.*(\d{3,5}x\d{3,5}).*$");
            if (match.Success) 
               Console.WriteLine("resolution is: {0}", match.Groups[1].Value);
         }
      }
   }
}
于 2013-10-13T14:16:46.150 回答