FFmpeg下载与配置(Visual Studio)

前言

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等,开源的ijkplayer、VLC等常见的播放器都是基于FFmpeg去完成的。

FFmpeg下载

FFmpeg官网:http://ffmpeg.org/

《FFmpeg下载与配置(Visual Studio)》 1.png

点击Download

《FFmpeg下载与配置(Visual Studio)》 2.png

点击Windows Packages

《FFmpeg下载与配置(Visual Studio)》 3.png

再点击Windows Builds

这个网站的FFmpeg分为三个版本:
Static:只包含三个体积很小的exe。
Shared:除了三个体积很小的exe之外,还包含了dll动态库文件。
Dev:只包含了开发用的头文件(.h)和导入库文件(.lib)。

《FFmpeg下载与配置(Visual Studio)》 4.png

点击Download Build进行下载,下载解压后

《FFmpeg下载与配置(Visual Studio)》 5.png

wins + R打开DOS命令行窗口,切换到static文件夹下的bin文件夹

《FFmpeg下载与配置(Visual Studio)》 6.png

输入ffmpeg.exe,查看弹出的信息。

《FFmpeg下载与配置(Visual Studio)》 7.png

ffmpeg.exe的使用

1. 命令格式

功能

ffmpeg.exe用于视频的转码

最简单的命令
ffmpeg -i input.mp4 output.avi

该命令是将当前文件夹下的input.mp4文件转换为output.avi文件。我利用命令ffmpeg -i Forrest_Gump_IMAX.mp4 1.avi将mp4格式转换成avi格式,用VLC播放器打开,可以播放,注意这里如果用win10自带的播放器是打不开的,这个播放器不支持avi格式。

《FFmpeg下载与配置(Visual Studio)》 8.png

命令格式
ffmpeg -i {输入文件路径} -b:v {输出视频码率} {输出文件路径}

所有的参数都是以键值对的形式指定的。例如输入文件参数是“-i”,而参数值是文件路径;输出视频码率参数是“-b:v”,而参数值是视频的码率值,但是位于最后面的输出文件路径前面不包含参数名称。

2. 命令参数

《FFmpeg下载与配置(Visual Studio)》 9.png

详细的参数可以访问:http://ffmpeg.org/ffmpeg.html

ffplay.exe的使用

1. 命令格式

功能

ffplay.exe用于视频的播放

最简单的命令
ffplay input.mp4
命令格式
ffplay {输入文件路径}

ffplay.exe的参数格式和ffmpeg.exe是类似的。所有的参数是以键值对的形式指定的(由于不包含输出文件,所以只能指定输入参数)。注意位于最后面的输入文件路径前面不包含参数名称。

我们来试一下,命令行输入ffplay 1.avi

《FFmpeg下载与配置(Visual Studio)》 10.png

2. 快捷键

《FFmpeg下载与配置(Visual Studio)》 11.png

Visual Studio关于FFmpeg的配置

拷贝include、lib、dll动态库

新建ffmpeg_study项目,在右侧解决方案资源管理器中,右击项目名ffmpeg_study,选择在文件资源管理器中打开文件夹,将dev的include和lib文件夹拷贝到此位置,并将shared/bin下的所有dll动态库拷贝到此位置

《FFmpeg下载与配置(Visual Studio)》 12.png

配置附加包含目录

然后右击项目名ffmpeg_study,选择属性 —> C/C++ —> 常规

《FFmpeg下载与配置(Visual Studio)》 13.png

配置附加库目录

《FFmpeg下载与配置(Visual Studio)》 14.png

添加依赖项

avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swresample.lib
swscale.lib

《FFmpeg下载与配置(Visual Studio)》 15.png

检测FFmpeg的配置

#include <stdio.h>
#include <stdlib.h>
#include <iostream>

extern "C" {
    #include "libavcodec\avcodec.h"
}

using namespace std;
void main() {
    cout << avcodec_configuration() << endl;

    getchar();
}

调用avcodec_configuation()函数来检测FFmpeg是否已经配置完成,编译运行:

《FFmpeg下载与配置(Visual Studio)》 16.png

由于我们下载的FFmpeg库是64位的,所以需要将我们的活动解决方案平台改成x64的

《FFmpeg下载与配置(Visual Studio)》 17.png
《FFmpeg下载与配置(Visual Studio)》 18.png

再编译运行,运行成功,输出信息如下:

《FFmpeg下载与配置(Visual Studio)》 19.png

展望

喜欢本篇博客的简友们,就请来一波点赞,您的每一次关注,将成为我前进的动力,谢谢!

    原文作者:zhang_pan
    原文地址: https://www.jianshu.com/p/7baf03b1a868
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞