windows下msys2编译64位的ffmpeg源码

这篇具有很好参考价值的文章主要介绍了windows下msys2编译64位的ffmpeg源码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目前遇到过两次需求,需要编译ffmpeg源码。网上下载的编译好的源码里面可能不全,很多时候需要自行编译源码。本文介绍自行编译ffmpeg64位源码(32位通过相似的方式为编译成功,不知道原因)


环境:

  • 2023.5.4下载的最新版msys2
  • ffmpeg 4.3.2源码
  • windows操作系统

首先需要msys2软件和ffmpeg源码

链接:https://pan.baidu.com/s/1j9121MdJQVkkkET_KPPH-g?pwd=8fr6
提取码:8fr6
–来自百度网盘超级会员V4的分享

其中包含我已编译好的库


1.下载msys2(该软件用于在windows上模拟linux环境)

2.更新msys2下载源

找到msys2的安装目录,默认安装名是msys64,这里我因为自己的需要改成了msys2,以我的路径为例D:\1c++\msys2\etc\pacman.d,到pacman.d的文件夹下,可能你的文件数量和我的截图数量不一样,但不重要,看下图这三个文件

windows下msys2编译64位的ffmpeg源码

打开配置文件,把Primary下面的部分注释掉,换上新的源(只换Primary的那部分即可)

windows下msys2编译64位的ffmpeg源码

mirrorlist.mingw64 文件(因为是编译64位的ffmpeg源码,所以本质上只需更新该文件即可, mirrorlist.mingw32 和mirrorlist.msys可不更新),这里我是放了两个下载源,清华大学的下载源失效了就用第二个下载源,谁在前,就默认使用哪个下载源

## 清华大学
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
## 中科大
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64

3.打开mingw64.exe

windows下msys2编译64位的ffmpeg源码

先更新msys2的秘钥(这一步是防止在下载软件包的时候报错)

pacman -S msys2-keyring

使用命令,更新升级软件

pacman -Syu

所有操作y即可,更新可能需要一段时间。输入最后一个y可能端口会退出,重新打开即可

windows下msys2编译64位的ffmpeg源码

4.通过以下命令,逐个安装(如果-S提示出错,就用-Sy安装,即尝试pacman -Sy mingw-w64-x86_64-toolchain)

# 编译工具链
pacman -S mingw-w64-x86_64-toolchain
 
pacman -S mingw-w64-x86_64-yasm
 
pacman -S mingw-w64-x86_64-SDL2
 
pacman -S mingw-w64-x86_64-fdk-aac
 
pacman -S mingw-w64-x86_64-x264
 
pacman -S mingw-w64-x86_64-x265
 
# 需要单独安装make
pacman -S make

我安装的软件包是比较多的,但也比较全,读者可根据自己的需求去选择。这里的安装,尤其是toolchain和x264的安装如果报错,则重新从步骤3更新msys2的秘钥(我在装的过程中,x264出现小的报错,但并未影响。)

5.在mingw中进入源码目录下,注意路径中的斜杠(这里的命令都应是linux命令行的格式)

windows下msys2编译64位的ffmpeg源码

windows下msys2编译64位的ffmpeg源码

6.用一下命令开始编译,编译后的库放在了msys2的安装目录的/usr/local/ffmpeg目录下(我这里选择编译的库较多,但比较全。读者可自行选择)

./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --enable-gpl  --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265

windows下msys2编译64位的ffmpeg源码

这里会卡住好一会,耐心等待命令行提示,只要不报error就没事(这里我等了20分钟,测试发现不同电脑的速度不同,快的话大概10分钟就可以了)

最后进行编译和安装

make -j8 && make install

-j8好像是指cpu的核数,这里不加也行,即可以直接make && make install,这里短则10分钟,长则一小时都有可能

编译结束后会对编译的库和文件进行检查,若未出现明显的ERROR字样,则编译成功

windows下msys2编译64位的ffmpeg源码

windows下msys2编译64位的ffmpeg源码

出现类似这样的话则失败了

windows下msys2编译64位的ffmpeg源码

7.编译好后,在msys2安装目录\usr\local\ffmpeg下有对应的动态库和静态库文件

windows下msys2编译64位的ffmpeg源码

此时bin目录中的ffmpeg、ffprobe、ffplay还是没法使用的,因为缺少相关的dll,需要从MSYS2安装目录/mingw64/bin中拷贝,或者将MSYS2安装目录/mingw64/bin配置到环境变量Path中。

需要拷贝的dll有:libwinpthread-1、SDL2、zlib1.dll、liblzma-5、libbz2-1、libiconv-2、libgcc_s_seh-1、libstdc+±6、libx265、libx264-159、libfdk-aac-2。

因为拷贝起来比较麻烦,所以我打算在环境变量里配置一下(环境变量第一条是自行编译的库的bin目录,第二条是mingw64/bin中的一些库)

windows下msys2编译64位的ffmpeg源码

测试一下ffmpeg的版本

windows下msys2编译64位的ffmpeg源码


码字不易,如果这篇博客对你有帮助,麻烦点赞收藏,非常感谢!有不对的地方文章来源地址https://www.toymoban.com/news/detail-437193.html

到了这里,关于windows下msys2编译64位的ffmpeg源码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ai-WB2-32S在window下使用vs 和 msys2编译以及烧录

    应为电脑虚拟机不方便使用vs(有点卡),所以博主搜集了一些资料选择在windows下进行编译和烧录,过程虽然复杂,但是对于电脑配置不太高的用户挺友好的。 关于安装vscode博主就不献丑了,大家可以参考下面链接: vscode安装教程 关于msys2的安装,大家可以参考下面链接:

    2024年03月18日
    浏览(43)
  • 在 msys2/mingw 下安装及编译 opencv

    最简单就是直接安装 脚本中最好使用环境变量 ${MINGW_PACKAGE_PREFIX} 适配 以下记录一下编译的过程 注意:一定要安装 mingw-w64-x86_64-cmake  而不是 cmake,即不要执行 “pacman -S cmake” 否则会产生 “System is unknown to cmake, create 。。。” 报错信息 下载 opencv4 源码并解压  编写脚本

    2024年02月06日
    浏览(87)
  • 介绍MSYS2 在windows下与使用

    MSYS的独立改写版本 MSYS2 (Minimal SYStem 2) 是一个MSYS的独立改写版本,主要用于 shell 命令行开发环境。同时它也是一个在Cygwin (POSIX 兼容性层) 和 MinGW-w64(从\\\"MinGW-生成\\\")基础上产生的,追求更好的互操作性的 Windows 软件。 MSYS2 [1] 是MSYS的一个升级版,准确的说是集成了pac

    2024年02月08日
    浏览(48)
  • MSYS2中mingw-w64-x86_64-qt-creator-10.0.0-2不能新建项目

    今天在MSYS2的MinGW64中安装了最新的Qt Creator 10.0.0(mingw-w64-x86_64-qt-creator-10.0.0-2),但是发现不能新建项目,“选择”按钮为灰: 我之前都可以新建项目,更新后就不行了,于是想要安装一下旧版本看,是否是因为新版本的原因导致的。 此时不能在终端直接使用 pacman -S mingw-

    2023年04月09日
    浏览(45)
  • Windows shell环境: 从git bash切换到msys2

    想在 Windows 下编译一些 C++ 工程, 依赖库没有提供 CMake 支持,手动编译则需要递归编译所有依赖库, 过程预计比较复杂容易失败, 考虑使用预编译库。由于 GnuWin32 系列的预编译库普遍版本较低, 无法满足原本要编译的 doxygen 工程中的需求, 考虑使用 msys2 提供的预编译库,

    2024年02月09日
    浏览(65)
  • 解决 MSYS2 Qt 6.7 默认 stylesheet 在 windows 11 下的显示故障

    MSYS2 升级到 Qt6.7.0,发现显示故障,所有Qt6程序以及 QtCreator的SpinBox都显示不全,Combox的底色不对。 2024年4月1日,pacman升级MSYS2后,Qt6遇到风格错误。如果使用官方的 Qt online installer,则Qtcreator毫无问题(它使用6.6 而不是 6.7 编译),但是使用Qt 6.7 的app还是有问题。 msys环境:

    2024年04月14日
    浏览(58)
  • LVGL学习笔记|Windows环境下模拟LittlevGL:VSCode+MSYS2+Cmake搭建模拟环境

    最近需要使用LittlevGL(以下简称lvgl)做ARM开发板的GUI,为了方便调试代码在网上搜集了部分在Windows环境下利用VSCode模拟仿真的环境配置步骤,现整理如下。 系统版本:Windows 10 专业版 21H2 直接使用国内镜像下载链接 : https://vscode.cdn.azure.cn/stable/b4c1bd0a9b03c749ea011b06c6d2676c8091

    2024年02月02日
    浏览(46)
  • msys2安装与配置: 在windows上使用linux工具链g++和包管理工具pacman C++开发

    方便windows上的C++开发demo,不需要VS了 方便C++开发安装opencv等三方库 有了这个就不需要另外安装git, cmake, mingw64了,都可以通过pacman包管理工具一键安装 官网 https://www.msys2.org/ 官方文档 https://www.msys2.org/docs/terminals/ github https://github.com/msys2/msys2-installer/releases/ 根据github readme中的

    2024年02月11日
    浏览(40)
  • 83、SpringBoot --- 下载和安装 MSYS2、 Redis

    启动redis服务器: 打开小黑窗: C:UsersJHe: E:cd E:installRedis6.0Redis-x64-6.0.14bin E:installRedis6.0Redis-x64-6.0.14binredis-server.exe redis.windows.conf 启动redis客户端: 小黑窗:redis-cli 直接官网下载最新的版本 msys2官网 因为在安装的时候一直卡在50%,弄了很久都不行,后面断网安装,一下

    2024年02月07日
    浏览(37)
  • 特别篇 VSCode+MSYS2 更好的开发环境搭建!

    想必,凡是参与过NOI系列赛事的,都对下面的图很熟悉: 没错,它就是 Dev-C++ ,NOI系列比赛Windows环境制定软件,但它在日常刷题过程中体验 相当不好 ,几乎没有的高亮显示,陈旧的编译器…… 因此,我们是时候配置一个更好的代码编辑平台了! 一方面,你应该确保你自身

    2024年04月08日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包