欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程

程序员文章站 2022-06-10 08:02:01
一、安装基础软件vs编译器VS2017Mingw: msys2-x86_64-20200629.exe, 默认安装二、msys2使用VS编译器1.编辑C:\msys64\msys2_shell.cmd2.将rem set MSYS2_PATH_TYPE=inherit 修改为set MSYS2_PATH_TYPE=inherit3.到开始菜单,执行“Visual Studio 2017->适用于 VS 2017 的 x64 本机工具命令提示”,在命令窗口下执行C:\m....

一、安装基础软件

vs编译器VS2017

Mingw: msys2-x86_64-20200629.exe, 默认安装

 

二、msys2使用VS编译器

1.编辑C:\msys64\msys2_shell.cmd

2.将rem set MSYS2_PATH_TYPE=inherit 修改为set MSYS2_PATH_TYPE=inherit

Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程

3.到开始菜单,执行“Visual Studio 2017->适用于 VS 2017 的 x64 本机工具命令提示”,在命令窗口下执行C:\msys64\msys2_shell.cmd

Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程

按回车出现

Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程

 

三、Msys2安装工具包

pacman -S make gcc diffutils yasm pkg-config git nasm

 

四、解压ffmpeg4.2.3到f盘

Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程

 

五、安装intel media sdk

1.安装版本MSDK2020R1.exe,从C:\Program Files (x86)\IntelSWTools\Intel(R) Media SDK 2020 R1\Software Development Kit路径下找到include和lib两个文件夹

Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程

2.在F:\ffmpeg-4.2.3 新建mfx目录,将include和lib两个文件夹拷贝到F:\ffmpeg-4.2.3\mfx目录下,在F:\ffmpeg-4.2.3\mfx\include目录下再新建一个mfx文件夹,将F:\ffmpeg-4.2.3\mfx\include下的所有.h文件放到F:\ffmpeg-4.2.3\mfx\include\mfx,截图如下:

Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程

Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程

3.将F:\ffmpeg-4.2.3\mfx\lib\x64下的libmfx_vs2015.lib改名为libmfx.lib。这样做的目的是因为默认的libmfx.lib编译会有LNK2019错误。

参考链接:https://blog.csdn.net/sz76211822/article/details/107282148

 

六、安装cuda

1.安装版本cuda_10.2.89_441.22_windows.exe,这个是支持windows7的。

2.安装完成后在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2 找到开发包include和lib两个文件夹,如图:

Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程

3.在F:\ffmpeg-4.2.3 新建cuda目录,将include和lib两个文件夹拷贝到F:\ffmpeg-4.2.3\cuda目录下

 

七、注释掉编译错误的文件

搜索ffprobe.c 和 cmdutils.c 两个文件将CC_IDENT此注释 

参考链接:https://blog.csdn.net/sz76211822/article/details/107255441

 

八、进入ffmpeg目录

cd  “F:\ffmpeg-4.2.3”

 

九、FFMpeg编译支持NVidia CODEC

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
 
cd nv-codec-headers
 
sudo make
sudo make install

 

Windows msys2编译ffmpeg、cuda、intel media sdk之完整流程

十、编译

PKG_CONFIG_PATH="F:\ffmpeg-4.2.3\nv-codec-headers" \
./configure --prefix="f:\build" \
--toolchain=msvc \
--enable-debug \
--enable-shared \
--disable-static \
--arch=x86_64 \
--extra-cflags=-I"./nv-codec-headers/include" \
--extra-cflags=-I"./cuda/include" \
--extra-ldflags=-LIBPATH:"./cuda/lib/x64" \
--extra-cflags=-I"./mfx/include" \
--extra-ldflags=-LIBPATH:"./mfx/lib/x64" \
--enable-stripping \
--enable-optimizations \
--enable-x86asm \
--enable-asm \
--disable-network \
--disable-iconv \
--disable-schannel \
--disable-xlib \
--disable-zlib \
--enable-protocol=file \
--enable-libmfx \
--enable-cuda-sdk \
--enable-cuda \
--enable-cuvid \
--enable-nvenc \
--enable-nonfree \
--enable-libnpp \
--enable-dxva2 \
--enable-outdev=sdl2 \
--enable-nonfree \
--enable-version3 \
--enable-gpl \
--enable-ffmpeg \
--enable-ffplay \
--disable-ffprobe

本文地址:https://blog.csdn.net/sz76211822/article/details/107297209