FFmpeg简介

FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video(录制、转换 、音/视频,并可将其转换为音/视频流的完整的,跨平台的j解决方案).FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。

官网:http://ffmpeg.org/

在windows环境下,需要用到其Windows Builds。

下载地址: http://ffmpeg.zeranoe.com/builds/

可根据自己的环境(32位或64位)选择下载相应的static builds即可。

解压下载后的包会发现,里面都是.exe文件。我们在.net中用FFmpeg只能利用命令参数的形式来执行这些文件,为我们服务,极为不便。如果有一个能在.net环境中以对象的方式调用ffmpeg.exe的包装类就好了。还真有,php有,C#的也有,如:

http://nolovelust.com/post/Another-Simple-C-Wrapper-For-FFmpeg.aspx

具体的可到这个网页下载,ffmpeg.exe的包装类使用。如果对ffmpeg.exe在C#中的调用感兴趣,可学习下其源码。

使用非常简单,如下解析视频的相关信息:

 1 /**2              * 支持视频格式:mpeg,mpg,avi,dat,mkv,rmvb,rm,mov.3              *不支持:wmv4              * **/5  6             VideoEncoder.Encoder enc =new VideoEncoder.Encoder();7 //ffmpeg.exe的路径,程序会在执行目录(....FFmpeg测试\bin\Debug)下找此文件,8             enc.FFmpegPath ="ffmpeg.exe";9 //视频路径
10 string videoFilePath ="d:\\纯粹瑜伽-混合课程.avi";
11             VideoFile videoFile =new VideoFile(videoFilePath);
12
13             enc.GetVideoInfo(videoFile);
14
15             TimeSpan totaotp = videoFile.Duration;
16 string totalTime =string.Format("{0:00}:{1:00}:{2:00}", (int)totaotp.TotalHours, totaotp.Minutes, totaotp.Seconds);
17
18             Console.WriteLine("时间长度:{0}",totalTime);
19             Console.WriteLine("高度:{0}",videoFile.Height);
20             Console.WriteLine("宽度:{0}", videoFile.Width);
21             Console.WriteLine("数据速率:{0}",videoFile.VideoBitRate);
22             Console.WriteLine("数据格式:{0}", videoFile.VideoFormat);
23             Console.WriteLine("比特率:{0}", videoFile.BitRate);
24             Console.WriteLine("文件路径:{0}", videoFile.Path);
25
26             Console.ReadKey();

输出:

C#通过FFmpeg获得视频参数相关推荐

  1. C#通过FFmpeg获得视频文件参数

    C#通过FFmpeg获得视频参数 FFmpeg简介 FFmpeg is a complete, cross-platform solution to record, convert and strea ...

  2. ffmpeg 参数_使用FFMPEG进行视频转码

    Note: 此文章首发于我的个人博客zhi-hua.wang ,开放转载但需附上出处. 使用FFMPEG进行视频转码 - 日落孤城​www.zhi-hua.wang FFMPEG 是一款开源的视频处理 ...

  3. 几个FFmpeg 视频参数 fps、tbr、tbn、tbc

    几个FFmpeg 视频参数 fps.tbr.tbn.tbc 我们用Ffplay播放文件或者视频流命令行会出现fps.tbr.tbn.tbc等参数如下图所示 图1 ffplay 播放文件示意图 fps表 ...

  4. [技术杂谈][转载]ffmpeg压缩视频几个参数解析

    Ffmpeg 视频压缩的几个关键参数 Ffmpeg的视频操作官网文档:FFmpeg Filters Documentation 视频压缩用到的参数主要为以下几个: 文件路径:-i 输入文件的路径 码率 ...

  5. ffmpeg制作视频播放器(十五)XPlay2 音视频参数获取和复制

    XDemux.cpp //获取视频参数 返回的空间需要清理 avcodec_parameters_free AVCodecParameters *XDemux::CopyVPara() {mux.lo ...

  6. ffmpeg java linux水印,Linux环境用FFmpeg给视频加水印详细步骤

    FFmpeg给视频添加水印,根据官方文档的介绍可以知道FFmpeg在编译安装的时候还需要加 –enable-libfreetype.–enable-libfontconfig. --enable-li ...

  7. ffmpeg的map参数

    ffmpeg的map参数可以指定输入流和输出流的映射关系. 参数格式: 1 -map [-]input_file_id[:stream_specifier][?][,sync_file_id[:str ...

  8. ffmpeg入门及java操作ffmpeg对视频进行处理

    一.ffmpeg 1.简介 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包含了非 ...

  9. linux deepin使用FFmpeg处理视频格式、尺寸、播放速度

    背景 deepin下的视频处理.剪辑软件可选择的比较少,没有Window下常用的PR.AE.格式工厂等,达芬奇由于依赖的问题不是很好安装.我们可以充分利用deepin系统自带的FFmpeg,完成常用的 ...

最新文章

  1. matlab怎么根据波宽度去波,使用Matlab图像处理(三)——图像滤波原理
  2. 【Java】类和对象
  3. CodeSign error: code signing is required for product type Application in SDK iOS XXX的解决办法
  4. 自己动手制作(DIY)一个Mini-Linux系统
  5. c++求矩阵的秩_线性代数复习(被玩坏的矩阵)
  6. 使用 npm 命令查看某个 npm 开发包明细
  7. 深入浅析HTML5中的article和section的区别
  8. mysql简单创建数据库权限(待修改备注)
  9. Linux中以单容器部署Nginx+ASP.NET Core
  10. 丘成桐:完全不懂数学,才会有“数学无用”的说法
  11. C++如何产生随机数
  12. python登录并关注公众号_python微信公众号之关注公众号自动回复
  13. 《深入理解OSGi:Equinox原理、应用与最佳实践》一3.4 事件监听
  14. exchange2007开启反垃圾邮件功能
  15. eclipse中新建JSP文件时的编码设置
  16. WIN7 7100+TOAD最新版本9.7.2.5切换到SCRIPT显示注释的时候是乱码。表数据中文显示正常!求解决方案。...
  17. 基于handsontable的web excel(上)
  18. 【电脑使用】插入SD卡图标是灰色的,点击显示“请将磁盘插入驱动器”
  19. spark3.0-spark入门-总结知识要点
  20. 网线水晶头接法分两种教程

热门文章

  1. List Label Enterprise Reporting
  2. tell网关arp包正常吗_网工知识角|如何理解ARP协议?防护有诀窍,网络工程师必读...
  3. 基于推荐算法的电影系统——理论介绍(1)
  4. [数据库]MySQL索引原理和深度优化
  5. Spark的shuffle
  6. Ubuntu下minicom的安装与使用
  7. 三菱PLC梯形图触点比较指令(><=)为什么加D
  8. KFold交叉验证的用法
  9. 人工智能翻译机到底能否取代真人翻译?这有两个高人的答案
  10. 用java获取360doc页面上的url地址并在浏览器中自动打开