FFmpeg下载与配置(Visual Studio)

前言

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

FFmpeg下载

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

1.png

点击Download

2.png

点击Windows Packages

3.png

再点击Windows Builds

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

4.png

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

5.png

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

6.png

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

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格式。

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

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

2. 命令参数

9.png

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

ffplay.exe的使用

1. 命令格式

功能

ffplay.exe用于视频的播放

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

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

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

10.png

2. 快捷键

11.png

Visual Studio关于FFmpeg的配置

拷贝include、lib、dll动态库

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

12.png

配置附加包含目录

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

13.png

配置附加库目录

14.png

添加依赖项

avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swresample.lib
swscale.lib
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是否已经配置完成,编译运行:

16.png

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

17.png
18.png

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

19.png

展望

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面: 今天往移动硬盘上拷电影的时候忽然遇见文件过大无法拷贝的问题。因为一个移动硬盘如果分区为NTFS格式,那...
    vincentgemini阅读 14,876评论 0 9
  • 前言 如此强大的FFmpeg,能够实现视频采集、视频格式转化、视频截图、视频添加水印、视频切片、视频录制、视频推流...
    骚之哈塞給阅读 25,887评论 6 39
  • 前言 如此强大的FFmpeg,能够实现视频采集、视频格式转化、视频截图、视频添加水印、视频切片、视频录制、视频推流...
    sillen阅读 10,740评论 2 45
  • 最近因为要音频处理的研究,音频开发,但是有一个难题就是怎么解析与提取音频的数据,于是就找到了FFmpeg。基本上只...
    知曰阅读 232,362评论 9 96
  • 学完这些Markdown的基本使用已经不成问题。 1. 标题设置(让字体变大,和word的标题意思一样)在Mark...
    灬Aimon阅读 1,794评论 0 0