win10 编译 ffmpeg 亲测有效

19 篇文章 0 订阅
6 篇文章 0 订阅

看本教程前,推荐先看一下视频的讲解,本文最后面的参考文献中有一个 b 站的视频,讲的不错,也可以自行搜索。
编译软件需要:源代码和编译工具
(源代码比较容易获取,也不会遇到太多问题,主要是编译工具的安装和使用会遇到各种问题)
本教程需要你提前安装好 visual studio 。

1. 源代码

直接 百度、谷歌或者 github 里面搜索就好了。
这边给个目前的网站: https://www.ffmpeg.org/ 如下图所示。在这里插入图片描述
如果代码不熟悉怎么下载的可以去 b 站搜索, ffmpeg 如何在 windows 中编译,视频看起来会直观一点。

2. 工具使用

Windows 下有 3 种方式编译 ffmpeg。分别是基于 Cygwin环境, 基于msys2+mingw 和 msys2+visual studio 的方式。(好像也可以在其他平台交叉编译,比如在 Linux 平台下编译 windows 版本)
网上用的比较多的是 mysys2 + mingw,本文也是用的该方式。
采用该方式进行编译,也会遇到两种方式,一种是自行下载安装 MinGW 和 msys2(如https://blog.csdn.net/zhouyongku/article/details/44961447),一种是 下载 msys2 再用命令自动下载MinGW 等工具。
本文采用第 2 种方式,即先下载msys2 再用命令自动下载MinGW 等工具。该方式比较简单,且用户跟着操作成功的概率会更大。


2.1mys2 下载

直接搜 msys2 就好了,现在的网站是 https://www.msys2.org/
在这里插入图片描述
下载之后默认安装就行。

2.2 插件安装

安装完这个软件,相当于模拟了一个 Linux 系统,然后需要在这个系统安装一些软件。
打开 msys2 执行下面的语句。安装了 make、gcc、 diffutils、 yasm 和 pkg-config 软件。

pacman -S make gcc diffutils yasm pkg-config  

2.3 配置修改

之后打开 C:\msys64\msys2_shell.cmd (与你的安装路径相关,如果是默认安装是这个路径)
rem set MSYS2_PATH_TYPE=inherit这句更改成set MSYS2_PATH_TYPE=inherit然后保存,如下图所示。(rem 代表注释的意思)
把这句话打开的意思是使用 windows 环境变量
在这里插入图片描述

2.4 设置编译器和链接器

2.4.1 链接器设置

有两种方法:

2.4.1 方法1

打开 msys2_shell.cmd 和 2.3是同一个文件,然后加一句(根据安装的 visual studio 版本和位置进行修改路径)
call “C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat”
在这里插入图片描述
然后运行,最下面这个应用
在这里插入图片描述

2.4.2 方法2

执行 visual studio 的 x86_64 Cross Tools
在这里插入图片描述
执行 C:\msys64\msys2_shell.cmd
在这里插入图片描述

2.4.2修改链接器

由于 msys 自带 link.exe 和 vs 中的链接器重名,需要将其改成其他名字
在这里插入图片描述

2.4.3测试配置是否成功

查看cl和link工具是不是VS2019中的 (cl 是编译器 link 是链接器)
在这里插入图片描述

2.5 配置编译设置

之后 cd 到 ffmpeg 源码目录

MSYS 中的路径的表示方式是 linux 形式的,所以要写成下面的形式(“/f/” 代表 f盘)

执行下面命令,配置编译的设置

./configure  --toolchain=msvc  --enable-shared --prefix=host

大概意思是 ./configure 是 ffmpeg 脚本名字, --toolchain=msvc 使用 vistual studio 的工具链进行编译 --enable-shared 编出来的是共享库,即 .dll 文件;–prefix=host 输出的目录名是 host。
执行该命令是,控制台是没有反应的,可以在 ffbuild 中看 config.log 文件,执行是会把日志打在这个文件里面,直接看文件大小变化就可以知道目前是在执行命令了。
在这里插入图片描述

2.6 编译

最后进行编译

make -j4&&make install

就可以在 host (2.5里面设置的路径)路径里面看见生成的文件
在这里插入图片描述

3. 其他库安装

参考

3.调试源码

如果想调试源码,只需要将 pdb 文件和 dll 都放到执行文件同一目录下,进行编译就行了。

参考文献:
https://www.bilibili.com/video/BV1VE411K766?from=search&seid=18116917797625156309&spm_id_from=333.337.0.0
https://blog.csdn.net/lvchunhua/article/details/80579588
https://blog.csdn.net/u011595231/article/details/17244109

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值