当前位置: 代码迷 >> 综合 >> 在 Windows10 上配置 FFmpeg
  详细解决方案

在 Windows10 上配置 FFmpeg

热度:23   发布时间:2023-10-15 19:29:47.0

当年小白入门,现在再看,确实需要改改了,再优化一下排版。添加或修改内容,用红色字体标记——2021/1/14

 

一、 下载

Win10 + VS2010 + FFmpeg + 64位

下载FFmpeg地址如下:  https://ffmpeg.org/download.html#build-windows

绿色的Download下载最新的,但是为了稳定,还是选择以前的常用版本,且下载编译好的。如图所示:

在 Windows10 上配置 FFmpeg

 进入previous builds ,本机下载的是64位,大家因需求而异。

选择Previous Builds,就是选择之前的版本,没必要搞最新的。

在 Windows10 上配置 FFmpeg

点击之后,目录结构如下所示:

在 Windows10 上配置 FFmpeg

dev里面包含include 和 lib库,include里面是头文件,lib库包含所有函数和方法。

Shared里面是 dll的动态库,运行项目执行文件*.exe时,需要将对应的dll放入*.exe同级目录中。

 

注意两个版本下载要一致。   这里,我下载的版本是3.2.4 :

在 Windows10 上配置 FFmpeg

二、 配置文件

打开VS2010,创建一个win32控制台应用程序,可包含预编译头。

在项目中,添加三个文件,分别是 : include  lib  bin

解压下载的dev压缩包,① 将include中的文件全部复制到项目的include中;

② 将lib中的.lib文件全部复制到项目的lib中;

③ 解压shared压缩包,将bin中的.dll文件,全部复制到项目中的bin文件中。

不清楚过程的,请看下面1-3图。

在 Windows10 上配置 FFmpeg

在 Windows10 上配置 FFmpeg

在 Windows10 上配置 FFmpeg

将项目改为64位debug和release,然后下面的操作在release下进行。也可以在debug下进行。

在 Windows10 上配置 FFmpeg

添加:项目->属性->VC++目录->常规->附加包含目录: 填写相对路径

include与*.sln文件 属于同一级

  在 Windows10 上配置 FFmpeg

lib与*.sln文件 属于同一级

在 Windows10 上配置 FFmpeg

添加:项目->属性->链接器->输入->附加依赖项:

在 Windows10 上配置 FFmpeg

红框内容,避免屏幕一闪而过;绿框内容为添加的初始化。

在 Windows10 上配置 FFmpeg

代码如下:

#include "stdafx.h"
#include<iostream>extern "C"
{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"
}int _tmain(int argc, _TCHAR* argv[])
{av_register_all();system("pause");return 0;
}

三、开始编译工程

①  编译,出错了!莫方!

1>d:\practice\vs2010test\test\include\libavutil\common.h(35): fatal error C1083: 无法打开文件:“inttypes.h”: No such file or directory

提示找不到  inttypes.h。

网上下载此文件,然后放进VS的安装路径。

在 Windows10 上配置 FFmpeg

 

②  又出现新错误:

在 Windows10 上配置 FFmpeg

该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

解决方法:

在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的 Disable Specific Warnings 中添加相应的警告编号:4819;

在 Windows10 上配置 FFmpeg

 

③ 又又双出现问题了:

在 Windows10 上配置 FFmpeg

在 Windows10 上配置 FFmpeg

哦,原来是前面设置的时候,搞错了。

④  又又双叒这个错误,我都方了。但是还是要有信心,继续干掉它!不过现在还是先放一下。

在 Windows10 上配置 FFmpeg

 

四、 debug

上面的过程是在release下进行的,下面改为debug,项目中的配置修改同上。

① 结果又出现了这个问题。继续找方法:

在 Windows10 上配置 FFmpeg

 

解决方法一: 将dll 都复制到与bin同级的debug文件夹中。结果失败。

在 Windows10 上配置 FFmpeg

 

解决方法二: 将dll 都复制到test->x64下的debug文件夹中。结果通过。同理,dll也需要复制到test->x64下的release文件夹中。

在 Windows10 上配置 FFmpeg

一个完美的黑框!!!激动的很!!!

在 Windows10 上配置 FFmpeg

再添加两行代码,查看一下版本号:

在 Windows10 上配置 FFmpeg

至此,debug算是比较完美的收官。

 

五、 上面的release版本,依然有问题,现修改release版本下的代码,如下:

经查找,代码修改如下:

#include "stdafx.h"
#include<iostream>extern "C"
{#include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "afxmt.h"
}int _tmain(int argc, _TCHAR* argv[])
{avcodec_register_all();av_register_all();system("pause");return 0;
}

新错误:

在 Windows10 上配置 FFmpeg

#error :  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

网上查找修改以下两个地方,但是我修改后,又出现了新问题,还真是问题不断呀!

然后我也无能为力了,毕竟也是新手,等以后积累更多知识的时候,也许就能轻松解决了。

在 Windows10 上配置 FFmpeg

在 Windows10 上配置 FFmpeg

 

debug可以通过,但release又出问题,解决办法:https://blog.csdn.net/qq_34732729/article/details/90076003

 

 

  相关解决方案