令人振奋的FFmpeg7.0多媒体库已经发布!FFmpeg7.0最引人注目的是推出了新的本地VVC解码器,该解码器目前是支持多用途视频编码的试验性解码器,同时还引入了多线程FFmpegCLI工具。

FFmpeg多线程CLI支持是他们多年来最大的代码重构,对项目来说是一项艰巨的任务。在x86_64和AArch64处理器内核数不断增加的今天,这也是一个好消息。

FFmpeg7.0还拥有DVD-Videodemuxer,初步支持AOMediaIAMF的沉浸式音频模型和格式,ffplay的Vulkan渲染器,以及许多其他更改。

FFmpeg7.0是一个相当大的版本,官方的变更日志指出了这一点:

版本7.0:

-DXVDXT1编码器

-LEADMCMP解码器

-使用外部库libxevd的EVC解码

-使用外部库libxeve的EVC编码

-QOA解码器和解复用器

-aap过滤器

-解复用、解码、过滤、编码、ffmpegCLI中的解复用、解码、过滤、编码和复用现在全部并行运行

-启用gdigrab设备,使用hwnd=HANDLER语法抓取窗口

-IAMF原始解复用器和复用器

-D3D12VA硬件加速H264、HEVC、VP9、AV1、MPEG-2和VC1解码

-tiltandshift过滤器

-qrencode过滤器和qrencodesrc源

-quirc过滤器

-lavu/eval:在表达式中引入randomi()函数

-VVC解码器(实验性)

-fsync过滤器

-RawCaptionswithTime(RCWT)关闭字幕多路复用器

-ffmpegCLI-bsf选项现在可用于输入和输出

-ffmpegCLI选项现在可用作-/opt,相当于-opt>。

-showinfobitstreamfilter

-现在需要兼容C11的编译器;请注意,这一要求在不久的将来将提升至C17,因此如果您的构建环境不支持C17,请考虑更新

-将QSV编码器的默认比特率控制方法从VBR更改为CQP。

-移除过时的ffmpegCLI选项-psnr和-map_channel

-DVD-Videodemuxer、由libdvdnav和libdvdread支持

-ffprobe-show_stream_groups选项

-ffprobe(使用-export_side_datafilm_grain)现在可打印胶片颗粒元数据

-AEA多路复用器

-ffmpegCLI回环解码器

-在增强的flv格式中支持PacketTypeMetadata的PacketType

-支持hwaccel的ffplay。支持hwaccel解码的ffplay(通过libplacebo依赖于vulkan渲染器)

-dnn过滤器libtorch后端

-Android内容URIs协议

-AOMediaFilmGrainSynthesis1(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

FFmpeg7.0可从FFmpeg.org下载。我将很快发布支持CLI多线程的新FFmpeg基准测试。