没有具体细写。可以参考。
编译环境Mingw64
第一 、nvidia
下载:https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git
make
make install,
设置到ffmpeg 编译选项 export PKG_CONFIG_PATH="/usr/local/nv-codec-headers/lib/pkgconfig"
FFmpeg可以使用Intel QuickSync Video(QSV)来加速多个编解码器的解码和编码。要使用QSV,必须将FFmpeg与libmfx 调度程序链接,该调度程序将加载实际的解码库。
调度程序是开源的,可以从https://github.com/lu-zero/mfx_dispatch.git下载 。FFmpeg需要配置有该--enable-libmfx选项,并且pkg-config需要能够找到调度程序的.pc文件。
autoreconf -i
./configure --prefix=/mingw64
make -j$(nproc) install
export PKG_CONFIG_PATH="/usr/lib/pkgconfig"
第三:AMD
下载 https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git获取AMF框架头文件(版本1.4.9+) 。
在mingw64 include下创建一个amf文件夹。将的内容复制AMF/amf/public/include/到该目录中。然后使用配置FFmpeg --enable-amf。
amf编码器的初始化按以下顺序进行:1)尝试通过dx11(仅Windows)进行初始化2)尝试通过dx9(仅Windows)进行初始化3)尝试通过vulkan进行初始化。
创建一个文件 build.sh 放在ffmpeg文件下,build.sh的内容:
#!/bin/bash
export PKG_CONFIG_PATH="/usr/local/nv-codec-headers/lib/pkgconfig:/d/msys64/mingw64/lib/pkgconfig"
./configure \
--prefix=/usr/local/ffmpeg \
--arch=x86_64 \
--enable-gpl \
--enable-nonfree \
--enable-version3 \
--enable-shared \
--enable-avdevice \
--enable-avcodec \
--enable-avformat \
--enable-swresample \
--enable-swscale \
--enable-avfilter \
--enable-avresample \
--enable-pixelutils \
--enable-libx265 \
--enable-libfdk-aac \
--enable-cuvid \ #nvidia decode
--enable-nvenc \ #nvidia encode
--enable-nvdec \ #无效
--enable-libmfx \ #intel
--enable-amf \ #AMD
--extra-cflags=-DAMF_CORE_STATIC \ #加一下这个宏 不然amf 加载程序抱找不到运行时dll
根据自己的需求调整取用选项。
转载贴原文地址。文明阅读。
网友评论