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

2021-04-24 00:46

阅读:332

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

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

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

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

运行效果如下图所示:

技术分享图片

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

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

执行命令的代码如下:


代码如下:

///

/// 执行一条command命令

///

/// 需要执行的Command

/// 输出

/// 错误

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#动态类型,及动态对象的创建,合并2个对象,map实例
技术分享图片
C#中for循环、while循环循环执行的方法
技术分享图片
LZW压缩算法 C#源码
技术分享图片
C# ComboBox的联动操作(三层架构)

技术分享图片
C#隐式/显示实现接口方法详解
技术分享图片
C#线程同步的三类情景分析
技术分享图片
C#中使用Lambda表达式自定义比较器实现两个列表合并实例
技术分享图片
C#网络编程基础之进程和线程详解

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

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

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


评论


亲,登录后才可以留言!