news 2026/4/3 3:59:48

【FFMpeg】Windows下编译ffmpeg(MinGW+MSYS2)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【FFMpeg】Windows下编译ffmpeg(MinGW+MSYS2)

【FFMpeg】Windows下编译ffmpeg(MinGW+MSYS2)

文章目录

  • 【FFMpeg】Windows下编译ffmpeg(MinGW+MSYS2)
    • 1、概述
    • 2、环境准备
      • 1 安装Msys2
      • 2 安装环境
    • 3、ffmpeg编译

1、概述

  • 系统:Window10
  • ffmpeg版本:n5.1.2
  • 环境:Msys2+MinGW
    • Msys2:msys2是一款跨平台编译套件,它模拟linux编译环境,可以把它看做一个linux环境;

2、环境准备

1 安装Msys2

  • 下载msys2

  • 下载msys2后直接下一步安装,安装完成后如下图所示

  • 在开始菜单打开MSYS2 MSYS,使用命令pacman -Syu升级所有库

2 安装环境

  • 使用下列命令安装ffmpeg编译的依赖和工具

    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 pacman -S mingw-w64-x86_64-gcc pacman -Smakediffutils pkg-configgitnasm
  • 使用git命令将ffmpeg下载到msys2的用户目录下,或者下载了复制到用户目录下

  • 如下图所示,新建一个build文件夹用于编译,新建一个文件夹ffmpegLib用做安装路径

3、ffmpeg编译

  • 在开始菜单选择MSYS2 MINGW64

  • 进入到创建的build文件夹下

  • 使用下列命令开始构建ffmpeg源码,这里时间有点长,不是卡了,参数说明如下

    • --prefix安装程序到指定的目录,即最终编译后生成的文件的存放目录;

    • --enable-sdl2引入SDL2库,ffplay编译必须;

    • --enable-x264启用H.264编码(默认关闭);

    • --enable-faac启用faac支持libfaac(默认关闭);

    • --enable-static构建静态库(默认启用);

    • --disable-static禁止构建静态库(默认关闭);

    • --enable-shared构建共享库(默认关闭);

    • --disable-shared禁止构建共享库(默认启用);

    • --enable-gpl允许使用GPL(默认关闭);
      更多详细说明可查询ffmpeg ./configure参数说明

      $../ffmpeg/configure --prefix=/home/mhf/ffmpeg/ffmpegLib/ --enable-shared --enable-sdl2 --disable-static

  • 构建完成后使用下列命令编译安装

    make-j8makeinstall
  • 安装完成后打开ffmpegLib文件夹,如下图所示

  • 进入bin文件夹,将所有.lib文件复制到ffmpegLIb/lib文件夹中,否则使用msvc编译器调用时会报错;

    • 注意: 这时还不能用,使用MinGW64编译ffmpeg,还依赖于MinGW64的部分动态库,如下图所示,直接运行会报缺少库;

    • 下载一个DependenciesGui.exe,这是一个检测依赖工具;

    • 下载成功后,打开DependenciesGui.exe,并将ffmpeg.exe拖进DependenciesGui.exe中;

    • 依次打开依赖的ffmpeg动态库,发现下一级中会有一些红色的,这就是缺少的依赖库;

    • 由于是使用MinGW64编译的,我们就打开msys2安装路径下的mingw64文件夹 ,在bin文件夹中就可以找到缺少的库,根据DependenciesGui.exe中提示将所有缺少的库复制到ffmpegLib/bin文件夹下就可以了;

    • 复制了所有依赖库后再运行ffmpeg.exe就不会报错了;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 6:29:19

结合Chainlit前端调用Qwen2.5-7B-Instruct全流程详解

结合Chainlit前端调用Qwen2.5-7B-Instruct全流程详解 引言:构建本地大模型交互系统的现实意义 在当前生成式AI快速发展的背景下,将高性能大语言模型(LLM)部署于本地环境,并通过直观的前端界面进行交互,已成…

作者头像 李华
网站建设 2026/3/26 22:07:21

ResNet18物体识别:Mac用户也能轻松体验

ResNet18物体识别:Mac用户也能轻松体验 引言 作为一名Mac用户,你是否曾经对计算机视觉充满兴趣,却在搜索教程时被"需要NVIDIA显卡"的要求劝退?别担心,今天我要分享的ResNet18物体识别方案,就是…

作者头像 李华
网站建设 2026/4/1 21:24:36

ResNet18跨域适应实战:风格迁移+云端一站式方案

ResNet18跨域适应实战:风格迁移云端一站式方案 引言 想象一下,你是一位数字艺术家,手上有100张梵高风格的画作,现在需要将它们全部转换成莫奈风格。手动重绘?那可能要花上几个月。这时候,AI风格迁移技术就…

作者头像 李华
网站建设 2026/3/28 18:46:09

ResNet18省钱攻略:云端GPU按需付费,比买显卡省90%

ResNet18省钱攻略:云端GPU按需付费,比买显卡省90% 1. 为什么创业团队需要云端GPU? 对于创业团队来说,开发AI产品原型时最头疼的问题就是硬件成本。传统方案通常有两种: 自购显卡:一块RTX 3090显卡市场价…

作者头像 李华
网站建设 2026/3/28 11:36:01

ResNet18-CIFAR10一键运行:云端镜像开箱即用

ResNet18-CIFAR10一键运行:云端镜像开箱即用 引言:为什么选择云端镜像? 作为编程培训班的学员,你可能正在为ResNet18的作业发愁——50%的同学都卡在了环境配置环节。传统的本地安装需要配置Python环境、安装PyTorch、下载数据集…

作者头像 李华
网站建设 2026/3/31 2:21:12

从零部署Qwen2.5-7B-Instruct大模型|vLLM加速,Chainlit前端交互

从零部署Qwen2.5-7B-Instruct大模型|vLLM加速,Chainlit前端交互 引言:为什么选择 Qwen2.5 vLLM Chainlit 架构? 在当前大模型快速迭代的背景下,如何高效、低成本地将先进语言模型部署为可交互服务,成为…

作者头像 李华