我在命令行中使用 FFMPEG 来获取 ASP.NET C# 应用程序中文件的媒体信息。我需要从包含 FFMPEG 输出的字符串值中获取比特率值,如下所示:
Duration: 00:00:02.60, start: 0.000000, bitrate: 517 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 1024x768, 15.00 tb(r)
Stream #0.1(eng): Audio: aac, 22050 Hz, mono, s16
所以我想使用正则表达式从比特率:517 kb/s
中获取整数值...我的文件在上下文中的比特率仅达到 1500 左右,所以它需要能够获取 2、3 和 4 位数字的值。
如何实现这一目标?
干杯
最佳答案
这应该可以。
Match match = Regex.Match(ffmpegStr, @"bitrate: (\d+)");
if (match.Success)
{
Console.WriteLine(match.Groups[1].Value);
}
其中 ffmpegStr
是您的数据。
您可以将 +
替换为 {2,4}
以仅匹配 2 到 4 位数字。
或者您可以使用ffprobe输出机器可读的数据。
关于c# - 正则表达式从字符串中获取比特率值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487311/