Skip to content

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

ffmpeg-full

面向 Windows x64 的全功能 FFmpeg 构建脚本。产物使用动态链接,由 ffmpeg.exeffprobe.exeffplay.exe 和配套 DLL 组成。

主要功能

  • 基于 FFmpeg master,在 Linux/WSL 中交叉编译。
  • 支持常用软编解码器、NVENC/NVDEC、Intel QSV、AMF、Vulkan、OpenCL、字幕和质量评估等功能;NVIDIA 硬解使用原生解码器配合 -hwaccel cuda,不构建旧的 *_cuvid 解码器。
  • 包含 Apple AudioToolbox 的 aac_at 编码器,可用 -c:a aac_at。Release 将其 Apple Application Support 运行时单独放在 aac_at_dlc.7z;使用时把 DLC 中 DLL 解压到 ffmpeg.exe 同目录。
  • 校验 libaom、SVT-AV1、x264、x265 和 VVenC 参数透传;例如 libaom 使用 -aom-params tune=iq。未知参数会直接报错,避免警告后继续编码。
  • 支持 VapourSynth 输入;BM3D CUDA 不随压缩包分发,请按 BM3D CUDA Wiki 安装 Python 插件。
  • 内置 Netflix VMAF v1.0.16 的 1080p、手机、4K 和 HFR 模型;标准 1080p 3H 模型为 vmaf_v1.0.16_3d0h,通过 CPU libvmaf 使用。
  • CUDA 环境提供仅接收 CUDA 帧的 libvmaf_cuda,实测支持默认 vmaf_v0.6.1;VMAF v1 模型包含尚无 CUDA 实现的 CAMBI/Speed 特征,需使用 CPU libvmaf
  • 默认针对 x86-64-v3 处理器优化。

构建

chmod +x ffmpeg.sh
./ffmpeg.sh          # 安装/更新工具,更新源码并完整编译
./ffmpeg.sh update   # 只更新源码
./ffmpeg.sh build    # 使用现有源码编译

默认复用已可用的 WSL 工具链;需要强制刷新时使用 TOOLCHAIN_REFRESH=1 ./ffmpeg.sh all

产物位于 full/。Release 的基础包为 ffmpeg-full.7z;仅需 aac_at 时再下载 aac_at_dlc.7z

FFmpegFreeUI 预设

Release 中的 JSON 是 FFmpegFreeUI v6 预设,放入 Preset_v6\User 后读取。NVENC 专用版见 ffmpeg-nvenc-lite,QSV 专用版见 ffmpeg-qsv-lite

aac_at_dlc.7z 包含 Apple 运行时,构建还包含其他 nonfree 组件。FFmpeg 会将二进制标记为 nonfree and unredistributable;请自行确认使用与再分发合规性。

About

一个全功能ffmpeg,采用动态连接方式减小总体积

Resources

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages