ffmepg5主要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和几个色彩相关过滤器。