码迷,mamicode.com
首页 > Windows程序 > 详细

C#读取视频的宽度和高度等信息的方法

时间:2017-12-05 22:47:07      阅读:627      评论:0      收藏:0      [点我收藏+]

标签:efault   三层架构   动态对象   direct   play   color   evel   通过   summary   

本文实例讲述了C#读取视频的宽度和高度等信息的方法。分享给大家供大家参考。具体实现方法如下:

读取方式:使用ffmpeg读取,所以需要先下载ffmpeg。网上资源有很多。

通过ffmpeg执行一条CMD命令可以读取出视频的帧高度和帧宽度信息。

运行效果如下图所示:

技术分享图片

蓝线框中可以看到获取到的帧高度和帧宽度。

接下来的事情就简单了。构造一个命令,然后执行就ok。我并未测试过所有视频格式,估计常见的格式应该都支持。

执行命令的代码如下:


代码如下:

/// <summary>

/// 执行一条command命令

/// </summary>

/// <param name=”command”>需要执行的Command</param>

/// <param name=”output”>输出</param>

/// <param name=”error”>错误</param>

public static void ExecuteCommand(string command,out string output,out string error)

{

try

{

//创建一个进程

Process pc = new Process();

pc.StartInfo.FileName = command;

pc.StartInfo.UseShellExecute = false;

pc.StartInfo.RedirectStandardOutput = true;

pc.StartInfo.RedirectStandardError = true;

pc.StartInfo.CreateNoWindow = true;

//启动进程

pc.Start();

//准备读出输出流和错误流

string outputData = string.Empty;

string errorData = string.Empty;

pc.BeginOutputReadLine();

pc.BeginErrorReadLine();

pc.OutputDataReceived += (ss, ee) =>

{

outputData += ee.Data;

};

pc.ErrorDataReceived += (ss, ee) =>

{

errorData += ee.Data;

};

//等待退出

pc.WaitForExit();

//关闭进程

pc.Close();

//返回流结果

output = outputData;

error = errorData;

}

catch(Exception)

{

output = null;

error = null;

}

}

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#读取视频的宽度和高度等信息的方法

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23307.html






相关内容

C#读取视频的宽度和高度等信息的方法

标签:efault   三层架构   动态对象   direct   play   color   evel   通过   summary   

原文地址:http://www.cnblogs.com/paobuke/p/7989682.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!