当前位置: 首页 > news >正文

windows下适用msvc编译ffmpeg 适用于ffmpeg-7.1

需要的工具:
visual studio 2019 (可以是其他版本,只是本人电脑上装的为2019)
msys2
ffmpeg-7.1源码

1. 修改msys2_shell.cmd
在msys2目录修改msys2_shell.cmd
打开后找到行set MSYS2_PATH_TYPE=inherit
删除开头的rem

2. 运行msys2
运行x64 Native Tools Command Prompt for VS 2019
打开后跳转到msys2目录,并运行msys2_shell.cmd,会打开msys2窗口
在msys2窗口输入cl,查看是否有输出:

用于 x64 的 Microsoft (R) C/C++ 优化编译器 19.29.30148 版
版权所有(C) Microsoft Corporation。保留所有权利。

用法: cl [ 选项... ] 文件名... [ /link 链接选项... ]

如果没有输出,则表示没有继承到VS 2019环境,查看msys2_shell.cmd是否修改成功

3. 配置环境
在msys2中运行:

pacman -Syu
pacman -S make
pacman -S diffutils
pacman -S yasm
pacman -S nasm
 
mv /usr/bin/link.exe /usr/bin/link.exe.bak

4. 编译ffmpeg-7.1
在msys2窗口中进入ffmpeg-7.1目录下
创建build.sh,输入:

#!/bin/sh

export CC=cl

./configure \
--prefix=/d/lib/ffmpeg-7.1/build_windows \
--toolchain=msvc \
--arch=x86_64 \
--enable-x86asm \
--enable-asm \
--enable-shared \
--disable-programs \
--enable-d3d11va \
--enable-d3d12va \
--enable-dxva2 \
--disable-static

如果有报错查看ffmpeg目录下的ffbuild/config.log文件
等待配置完成
然后依次输入:

make V=1 j 8
make install

5. libx264
如果需要libx264,需要自行下载libx264源码并编译
在libx264目录下运行:

CC=cl ./configure --prefix=<编译物输出目录> --enable-shared
make -j 8
make install

在ffmpeg配置的时候添加(libx264为gpl):

--enable-gpl \
--enable-libx264 \
--extra-ldflags="-LIBPATH:<你的libx264编译输入目录>/lib/" \
--extra-cflags="-I<你的libx264编译输入目录>/include/"

即可编译带有x264的ffmpeg

msys2 下载
ffmpeg-7.1 源码下载
libx264

相关文章:

  • 解释 Node.js 的事件循环机制,理解微任务(microtask)与宏任务(macrotask)的区别?
  • Qt监控系统远程回放/录像文件远程下载/录像文件打上水印/批量多线程极速下载
  • JVM 面试
  • 【Linux】文件系统深度解析:从基础到高级应用
  • unity学习59: 滑动条 和 滚动条 滚动区域
  • additional-spring-configuration-metadata.json实现springboot自定义提示
  • python 视频网站爬虫教程,爬虫入门教程(付安装包)
  • Java语言基础 标识符、变量
  • 泛微Ecode新增Button调用服务器中的JSP页面里的方法
  • RabbitMQ系列(五)基本概念之Queue
  • MySQL 中如何解决深度分页的问题? MySQL中 join、inner join、left join、right join区别
  • 解决 ERROR 1130 (HY000): Host is not allowed to connect to this MySQL server
  • springboot、deepseek4j、bge-m3和milvus
  • 关于“你对 Spring Cloud 的理解”详细讲解?
  • bean的管理-03.第三方bean
  • 第8章:流式海啸:数据重构
  • Yolo各个系列的模型、ResNet、Pyrimid network、VGG、PointNet、mobilenet模型
  • ES6模块化详解:导入与导出方式
  • 常用 ADB 命令汇总
  • Starrocks入门(二)
  • wordpress开发的网站/西安seo管理
  • wordpress 文章合集/优化seo公司哪家好
  • php和python做网站/百度文库个人登录入口
  • 围上如何做快递查单网站/百度搜索引擎的优缺点
  • 福州市交通建设集团有限公司 网站/互联网产品营销策划方案
  • 定州市住房和城乡建设局 网站/怎么理解搜索引擎优化