近日,FFmpeg 5.0正式发布。这一新版本代号被命名为“Lorentz”,主要为纪念伟大的荷兰物理学家亨得里克·安顿·洛伦兹(Hendrik Antoon Lorentz)。此次重大发布包括大量API更改,并增添了一些新的特性。
VLC 首席开发者、多媒体专家 Jean-Baptiste Kempf在他的博客中详细介绍了此次发布的具体内容:
主要API更改和弃用包括:
- avcodec编解码操作方面的大量更改
- 用于音频和视频编解码处理的API
- 解耦了编解码器的输入和输出操作
- 新的回调方式:允许编码器输出的数据存储到用户可管理的缓冲区域
- swscale中大量帧操作相关的接口
- avformat与avcodec的分离
- Demuxer不再与编解码器强关联
- 新增一些bitstream filtering
- 可做编解码数据header信息分析的filtering
- 移除了codec/format 一系列注册 API,始终将所有格式作为静态列表加载
- 类型安全:在多种API中做了int到size_t的类型改变
- 移除了libavresample库
同时,用户仍然可以继续使用FFmpeg 4.4,该版本会持续维护(仍被支持)。
官网上已发布了5.0版本所有新的特性,这里只列出其中最重要的,主要包括:
- 新的解码器:native speex 解码器和用于MSN Siren、GEM Image和Apple Graphics(SMC)的解码器
- 在VideoToolbox的支持能力中增加了VP9和Prores的编解码能力
- 对Vulkan支持(尤其是Vulkan filter)的改进
- 龙芯的新架构loongarch平台的支持与优化
- swscale中支持slice级别线程操作
- 用于未压缩视频的RTP封装工具(RFC 4175)
- 支持libplacebo视频filter,以满足所有HDR需求
- 大量音视频filter:尤其是segment filter、latency filter、decorrelate filter和几个色彩相关过滤器。
更多FFmpeg 5.0发布内容,请查看:
https://github.com/FFmpeg/FFmpeg/blob/ce4d459db186a7d8ac842685cd6256c9ac1b7f25/Changelog
Reference:
http://www.jbkempf.com/blog/post/2022/FFmpeg-5.0
* 感谢刘歧老师对本篇文章的技术审校。