令人振奋的 FFmpeg 7.0 多媒体库已经发布!FFmpeg 7.0 最引人注目的是推出了新的本地 VVC 解码器,该解码器目前是支持多用途视频编码的试验性解码器,同时还引入了多线程 FFmpeg CLI 工具。
FFmpeg 多线程 CLI 支持是他们多年来最大的代码重构,对项目来说是一项艰巨的任务。在 x86_64 和 AArch64 处理器内核数不断增加的今天,这也是一个好消息。
FFmpeg 7.0 还拥有DVD-Video demuxer,初步支持 AOMedia IAMF的沉浸式音频模型和格式,ffplay 的 Vulkan 渲染器,以及许多其他更改。
FFmpeg 7.0 是一个相当大的版本,官方的变更日志指出了这一点:
版本 7.0:- DXV DXT1 编码器
- LEAD MCMP 解码器
- 使用外部库 libxevd 的 EVC 解码
- 使用外部库 libxeve 的 EVC 编码
- QOA 解码器和解复用器
- aap 过滤器
- 解复用、解码、过滤、编码、ffmpeg CLI 中的解复用、解码、过滤、编码和复用现在全部并行运行
- 启用 gdigrab 设备,使用 hwnd=HANDLER 语法抓取窗口
- IAMF 原始解复用器和复用器
- D3D12VA 硬件加速 H264、HEVC、VP9、AV1、MPEG-2 和 VC1 解码
- tiltandshift 过滤器
- qrencode 过滤器和 qrencodesrc 源
- quirc 过滤器
- lavu/eval:在表达式中引入 randomi() 函数
- VVC 解码器(实验性)
- fsync 过滤器
- Raw Captions with Time (RCWT) 关闭字幕多路复用器
- ffmpeg CLI -bsf 选项现在可用于输入和输出
- ffmpeg CLI 选项现在可用作 -/opt,相当于 -opt>。
- showinfo bitstream filter
- 现在需要兼容 C11 的编译器;请注意,这一要求在不久的将来将提升至 C17,因此如果您的构建环境不支持 C17,请考虑更新
- 将 QSV 编码器的默认比特率控制方法从 VBR 更改为 CQP。
- 移除过时的 ffmpeg CLI 选项 -psnr 和 -map_channel
- DVD-Video demuxer、由 libdvdnav 和 libdvdread 支持
- ffprobe -show_stream_groups 选项
- ffprobe(使用 -export_side_data film_grain)现在可打印胶片颗粒元数据
- AEA 多路复用器
- ffmpeg CLI 回环解码器
- 在增强的 flv 格式中支持 PacketTypeMetadata 的 PacketType
- 支持 hwaccel 的 ffplay。支持 hwaccel 解码的 ffplay(通过 libplacebo 依赖于 vulkan 渲染器)
- dnn 过滤器 libtorch 后端
- Android 内容 URIs 协议
- AOMedia Film Grain Synthesis 1 (AFGS1)
- 针对 AAC 的 RISC-V 优化、flac、jpeg-2000、lpc、rv4.0、svq、vc1、vp8、以及更多
- 针对 HEVC 解码的 Loongarch 优化
- 针对 HEVC 的重要 AArch64 优化
- MP4/ISOBMFF 中的 IAMF 支持
- 支持 HEIF/AVIF 静态图像和平铺静态图像
- AV1 中的杜比视界配置文件 10 支持
- MP4/ISOBMFF 中的环境观看环境元数据支持
- 使用 libx264.HDR10 和 libx265 编码时的 HDR10 元数据直通、和 libsvtav1
FFmpeg 7.0 可从FFmpeg.org 下载。我将很快发布支持 CLI 多线程的新FFmpeg 基准测试。