简鹿办公了解,2025 年 11 月 20 日开源多媒体处理领域的标杆项目 FFmpeg 今日正式发布 8.0.1 版本。作为 8.0 系列的首个维护更新,本次版本聚焦于稳定性增强、边界条件修复与多模块健壮性优化,尤其在文本渲染、硬件解码及视频编解码器方面进行了多项关键修正,进一步巩固了 FFmpeg 在专业音视频处理生态中的核心地位。
FFmpeg 8.0.1 虽为小版本更新,但包含多个对实际应用影响显著的修复,涵盖底层工具库、滤镜系统及编解码器模块:
1. 底层工具库(libavutil)安全性增强
修复 GET_BYTE / GET_16BIT 返回值类型问题
在 avutil/common.h 中,对宏 GET_BYTE 和 GET_16BIT 的返回值显式添加类型转换,避免在某些平台或编译器下因隐式类型提升导致的未定义行为或数据截断风险,提升跨平台一致性与内存安全。
2. 文本绘制滤镜(vf_drawtext)多项修复
drawtext 滤镜是视频水印、字幕叠加等场景的核心组件,本次更新集中修复其长期存在的边缘问题:
修复 GET_UTF8 调用时传入无效参数的问题,防止在处理非法 UTF-8 字符串时崩溃;
修正文本长度计算错误,确保多字节字符(如中文、Emoji)显示完整,避免截断或乱码;
正确处理边界框(bbox)中的文本分隔符,使自动尺寸计算更准确,尤其在动态文本或复杂排版场景下表现更稳定。
这些改进将显著提升使用 drawtext 添加动态信息(如时间戳、直播标题、游戏HUD)时的可靠性与视觉准确性。
3. MediaCodec 软件音频缓冲区校验强化
在 avcodec/mediacodecdec_common.c 中,新增对 mediacodec_wrap_sw_audio_buffer() 输入数据的完整性检查,验证输入是否包含 channel_count × sample_size 的有效音频数据。
此修复可防止因音频缓冲区格式不匹配导致的解码失败或内存越界,尤其在 Android 平台通过 MediaCodec 进行硬解时提升鲁棒性。
4. RV60 视频解码器状态清理优化
针对 RealVideo 6.0(RV60)解码器,明确清空块信息结构(blk_info),避免前一帧残留数据干扰当前帧解码,减少花屏或解码错误概率,提升对老旧 RealMedia 格式文件的兼容性。
由于本次更新不包含破坏性变更(breaking changes),现有基于 FFmpeg 8.0 的应用可无缝升级至 8.0.1,享受更高稳定性而无需修改代码。
作为全球数百万音视频应用背后的引擎,FFmpeg 始终以极致的稳定性与广泛的格式支持赢得开发者信赖。8.0.1 版本虽无新功能引入,却体现了项目团队对细节的严谨把控和对用户生产环境的高度负责。建议所有 FFmpeg 用户及时评估并部署此次更新,为您的多媒体处理流程注入更强健的底层保障。