msys2使用MinGW64编译ffmpeg 64bit库

搭建编译环境

下载安装msys2,参考文章《QT Mingw编译ffmpeg源码以及测试》。

安装必要的库文件

双击msys2安装目录下的msys2.exe,在cmd窗口中执行以下命令:

复制代码
 //升级所有库
pacman -Syu
//使用下列命令安装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 -S make diffutils pkg-config git nasm

将ffmpeg拷贝到msys安装路径下的/home/计算机名xxx/下;并在ffmpeg下新建build目录,用于编译;

编译

运行MSYS2 MINGW64:
使用cd命令切换到刚才新建的build目录下,执行configure,生成Makefile:

c 复制代码
./configure \
    --prefix="/usr/local/ffmpeg" \
    --enable-shared --disable-static \
    --enable-w32threads --disable-debug --disable-everything \
    --enable-gpl --disable-network \
    --enable-encoder=bmp,mjpeg,jpeg2000,mpeg4 \
    --enable-decoder=h264,hevc,mpeg4,mjpeg,bmp  \
    --enable-demuxer=h264,hevc,avi,matroska,image2,image_bmp_pipe \
    --enable-muxer=h264,hevc,avi,matroska,mp4,mjpeg,image2 \
    --enable-parser=h264,hevc,mjpeg,bmp \
    --enable-protocol=file \
    --enable-filter=scale \
    --disable-indevs \
    --disable-hwaccels \
    --extra-libs=-lmsvcrt

以上设置一些编译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(默认关闭);

成功后执行make,make install,编译好的库文件会放置到msys64/usr/local/ffmpeg下,拷贝即可。

相关推荐
FlightYe16 小时前
FFmpeg移动端硬解机制
linux·网络·ffmpeg·音视频·实时音视频·视频编解码
小殊小殊2 天前
一文速通GPU版FFmpeg视频转码的安装使用
ffmpeg·音视频·视频编解码
blanks20206 天前
ffmpeg 学习笔记 通过命令行采集音频
ffmpeg
Mahut10 天前
我用 Electron + FFmpeg 做了一个本地视频处理工作站 ClipForge
前端·ffmpeg·electron
源之缘-OFD先行者19 天前
破界渲染:WinForm下的FFmpeg+Vortice极速推流引擎
ffmpeg·winform·推流·h264
源来猿往19 天前
记ffmpeg-8.1.1 之Android库编译(window)
android·ffmpeg
Deitymoon19 天前
RV1126+FFMPEG多路码流监控项目
ffmpeg·音视频
芝麻别开门19 天前
GStreamer DASH Demux 知识文档
ffmpeg·dash
ltlovezh20 天前
ROI 编码学习指南:Android 与 FFmpeg 的真实实现边界
android·ffmpeg·音视频开发
m0_7471245321 天前
多媒体框架 FFmpeg 和 GStreamer
ffmpeg·gstreamer