无网不进  
软硬件开发

基于C#利用ffmpeg提取视频帧

参考路径: https://www.cnblogs.com/cdp1591652208/p/9005854.html

利用ffmepg提取视频帧实际上是利用C#调用ffmepg命令行进行处理对应的视频,然后输出出视频帧

 

复制代码
GetPicFromVideo(@"视频文件路径", "705x576", "1");

static public string GetPicFromVideo(string VideoName, string WidthAndHeight, string CutTimeFrame)
        {
            string ffmpeg = @"E:\ffmpeg\bin\ffmpeg.exe";//ffmpeg执行文件的路径
            string PicName = VideoName + ".jpg";//视频图片的名字,绝对路径
            System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(ffmpeg);
            startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
            startInfo.Arguments = " -i " + VideoName                    //视频路径
                                + " -r 1"                               //提取图片的频率
                                + " -y -f image2 -ss " + CutTimeFrame   //设置开始获取帧的视频时间
                                + " -t 513 -s " + WidthAndHeight             //设置图片的分辨率
                                + @" 路径\%d.jpg";  //输出的图片文件名,路径前必须有空格

            try
            {
                System.Diagnostics.Process.Start(startInfo);
                Thread.Sleep(5000);//线程挂起,等待ffmpeg截图完毕
            }
            catch (Exception)
            {
                return "";
            }
       
       //返回视频图片完整路径 if (System.IO.File.Exists(PicName)) return PicName; return ""; }

ffmpeg下载安装和简单应用

先介绍一下ffmpeg:FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec —这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。 名字由来:"FFmpeg"这个单词中的"FF"指的是"Fast Forward"[2]。有些新手写信给"FFmpeg"的项目负责人,询问FF是不是代表“Fast Free”或者“Fast Fourier”等意思,"FFmpeg"的项目负责人回信说“Just for the record, the original meaning of "FF" in FFmpeg is "Fast Forward"...”

一、ffmpeg下载

先到http://ffmpeg.org/下载ffmpeg安装文件

 

接着中间部分黑体字 Latest Zeranoe FFmpeg Build Version下面有系统标注,32位还是64位,并且都有三种版本,简单介绍一下,都是我理解的想法,不太懂英文,大家见谅。 Static Versions是集成版,就是全都封装在一个exe可执行文件里了。 Shared Versions是共享版,这个是总的执行程序和一些lib库文件在一个文件夹里,应该是为了可以自定义库吧,我猜的。 Dev Versions是开发版,里面完全是脚本,看样子像Linux下的,这个真不懂。
大家按自己的系统位数建议选择Static Versions集成版,只需要一个文件ok了,干净方便。

 

二、ffmpeg安装

a、解压下载完的ffmpeg-20150407-git-c4b2017-win64-shared

解压后如图,(doc文件夹就是关于文档,licenses是声明,这个有个开源软件协议,了解详情请百度,presets文件夹里貌似是一些编码的默认设置吧,我猜的,不懂,想了解还是百度吧,度娘真是万能的)

b、将ffmpeg.exe的路径配置到环境变量里的Path里

三、ffmpeg验证

Alt+r,输入cmd,在dos命令行输入 ffmpeg

出现下列提示,即表示ffmpeg安装成功

 

四、ffmpeg简单应用

目前我是用来把录制好的视频转换成图片

ffmpeg.exe -i 路径\待转换的文件名.mp4 -r 30 -s 640*480 转换后保存的路径\文件夹名/%d.jpg 

ffmpeg.exe -i C:\Users\Administrator\Desktop\video\20150407_174405.mp4 -r 30 -s 640x480 C:\Users\Administrator\Desktop\video/%d.jpg

 

-i 是选择被执行文件

-r 30 是转换后视频的帧率,就是每秒的帧数

-s 640*480 是转换后视屏的分辨率




posted on 2018-08-22 19:19  无网不进  阅读(4367)  评论(0编辑  收藏  举报