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

win10 下Msys2编译FFmpeg的流程方法

安装Msys

MSYS2官网

安装...

将\msys64\usr\bin加入环境变量

Mysy2中输入

pacman –Syu

pacman –Su

 pacman -S git patch unzip

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

查看是否被安装

pacman -Q gcc

安装GCC

pacman -S gcc

查看gcc安装路径

which gcc

进入FFmpeg文件夹

cd /f/ffmpeg

先清除一下

make distclean

make clean

生成Makefile(这里要在MSYS2 MINGW64中进行),回车后会有一段时间没有什么反馈,别急,等等。

./configure --prefix=/C/ffmpeg --enable-shared --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265

./configure --prefix=/C/ffmpeg --enable-shared --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --extra-ldflags="-LC:/msys64/mingw64/lib" --extra-cflags="-IC:/msys64/mingw64/include"

编译/安装
make -j12 && make install

安装后将c:\ffmpeg\bin加入环境变量

vs中头文件include,库文件bin,依赖名lib

如果缺少xxx.dll去\msys64\mingw64\bin中找

h264,h265在这里C:\msys64\mingw64

libwinpthread-1.dll
SDL2.dll
zlib1.dll
liblzma-5.dll
libbz2-1.dll
libiconv-2.dll
libgcc_s_seh-1.dll
libstdc++-6.dll
libx265.dll
libx264-164.dll
libfdk-aac-2.dll
 

  • ./configure:这是一个脚本,用于配置FFmpeg的编译选项。它会检查你的系统上是否有编译FFmpeg所需的库和工具,并根据你指定的选项来生成Makefile。

  • --prefix=/c/FFmpeg:这个选项指定了安装路径。编译完成后,所有的文件(包括可执行文件、库和头文件)都会被安装到这个路径。在这里,/c/FFmpeg对应的Windows路径是C:\FFmpeg

  • --disable-static:这个选项禁用了静态库的构建。静态库是一种包含了多个对象文件的库,可以在链接阶段被完全集成到可执行文件中。

  • --enable-shared:这个选项启用了共享库的构建。共享库是一种可以被多个程序共享的库,它们在运行时被动态加载到内存中。

  • --enable-version3:这个选项启用了版本3的API。FFmpeg的API有多个版本,不同的版本有不同的功能和兼容性。

  • --disable-ffplay:这个选项禁用了ffplay的构建。ffplay是FFmpeg项目的一部分,是一个简单的媒体播放器。

  • --enable-ffmpeg:这个选项启用了ffmpeg的构建。ffmpeg是FFmpeg项目的核心,是一个用于处理多媒体数据的命令行工具。

  • --disable-x86asm:这个选项禁用了对x86汇编的优化。一些FFmpeg的功能可以使用x86汇编进行优化,以提高性能。但是,这需要额外的编译时间,并可能导致兼容性问题。

http://www.lryc.cn/news/325601.html

相关文章:

  • 用 Delphi 做 FTP 服务器以及如何配置防火墙
  • 《SQL必知必会第五版》第十四章(组合查询)挑战题
  • elasticsearch+kibana安装部分问题:
  • Python---常用的web框架
  • Jenkins Docker 部署指南
  • 海外媒体宣发:商务视频推广数字化变革全解析-华媒舍
  • 文件服务: 功能介绍
  • php 快速入门(二)
  • java面试题|(1)多线程如何停止一个线程?
  • 使用阿里CICD流水线打包Java项目到阿里的docker镜像私仓,并自动部署到服务器启动服务
  • Mybatis的核心配置文件
  • 四川易点慧电子商务抖音小店:安全可靠,购物新选择
  • 基于数据沙箱与LLM用例自愈的UI自动化测试平台
  • 面试算法-117-组合总和 III
  • 邮件接口与第三方平台的集成的方式有哪些?
  • qrcode插件-生成二维码
  • 基于JavaSpringmvc+myabtis+html的鲜花商城系统设计和实现
  • [论文笔记] Dual-Channel Span for Aspect Sentiment Triplet Extraction
  • 【C语言】linux内核pci_enable_device函数和_PCI_NOP宏
  • 网络: 套接字
  • Day57-Nginx反向代理与负载均衡初步应用
  • 【PHP】通过PHP开启/暂停Apache、MySQL或其他服务
  • JAVA中spring介绍
  • latex下载与安装
  • JavaParser 手动安装和配置
  • 再次度过我的创作纪念日
  • 云电脑火爆出圈,如何选择和使用?--腾讯云、ToDesk云电脑、青椒云使用评测和攻略
  • webpack原理之-打包流程热更新HMR
  • SELinux详解
  • Go语言实现SSE中转demo