FFmpeg 6.1 发布,7.0时代即将来临

2023年 11月 18日 82.1k 0

11月10日,FFmpeg 6.1正式发布。

FFmpeg 发布版本的时候,按照惯例,会选择一些物理学家名字作为代号,这一新版本代号为“Heaviside”。主要为纪念伟大的英国数学家和物理学家奥利弗·黑维塞(Oliver Heaviside)。

奥利弗·黑维塞(Oliver Heaviside)自学成才,没有系统经历过高等教育,但在物理、数学、工程领域成果非凡,其名言一直为人所津津乐道。

“数学分2种,严格的和物理直观化的。前者的范围窄;后者粗犷而广泛。拘泥于公式的严格证明只会令绝大多数的数学物理探究止步不前。难道我要在完全理解消化反应的所有机理以前,拒绝进食吗?”

Mathematics is of two kinds, Rigorous and Physical. The former is Narrow: the latter Bold and Broad. To have to stop to formulate rigorous demonstrations would put a stop to most physico-mathematical inquiries. Am I to refuse to eat because I do not fully understand the mechanism of digestion?

大佬的详细生平见奥利弗·黑维塞

FFmpeg此次发布重要信息包含以下几点:

1. 支持增强版本的RTMP/FLV,主要支持了HEVC、VP9、AV1等编解码格式。由于Adobe已经停止RTMP维护更新,这导致许多公司都在通过私有的方式支持新的视频编码格式。FFmpeg这次官方支持,长期看有可能统一混乱的私有方案,但在短期内也会增加混乱与工作量,因为企业不得不同时维护私有和开放多套标准。诚如著名的网络漫画网站https://xkcd.com/927/而言,我们又多了一个标准。

2.对新一代编码标准VVC 和 MPEG-5 EVC (Essential Video Coding) 的parser, muxer ,demuxer以及bsf的支持。FFmpeg社区一直在积极开发原生的VVC的decoder,目前看,容器格式和bit stream相关的支持已经初步完成,让我们等待它原生的VVC 解码器被合并;另一方面,MPEG-5 EVC相关的支持工作也在积极的进行,只是其编解码器以第三方库的方式支持(https://github.com/mpeg5)。

3.FFmpeg重新实现了自己的FFT,用于其内部编解码器和滤波器的FFT、MDCT、DCT和DST实现已经完全被更快的libavutil/tx所取代;这个改动一方面带来速度上面的收益,另外一方面,也使得库的大小大为减小。

4.硬件加速继续迭代。一方面,FFmpeg已经支持了基于Vulkan的解码(当然,如同大多数硬件加速一样,它要在一定的限制条件下才能使用)。另外,也进一步支持了基于VAAP的AV1编码。说到VAAPI,最让人吃惊的莫过于,FFmpeg通过libva-win32项目,可以在WIndows上使用FFmpeg VAAPI的相关功能,这要感谢微软的工程师们在WIndows上的WSL项目上的努力。

具体改进亮点如下:

  • libaribcaption译码器

  • Playdate 视频 Decoder 和 Demuxer

  • 在Windows上扩展对libva-win32的VAAPI支持

  • 命令行新增选项:-readrate_initial_burst

  • arls 音频滤镜

  • setts和asetpts过滤器中的命令支持

  • Vulkan解码hwaccel,支持H264、HEVC和AV1

  • color_vulkan过滤器

  • bwdif_vulkan过滤器

  • nlmeans_vulkan过滤器

  • RivaTuner视频解码器

  • xfade_vulkan过滤器

  • vMix视频解码器

  • 基本视频编码解析器,混音器和解音器

  • 基本视频编码帧合并bsf

  • bwdif_cuda过滤器

  • 微软RLE视频编码器

  • 原始AC-4混频器和解混频器

  • 原始的VVC比特流解析器,复用器和解复用器

  • 位流过滤器用于编辑VVC流中的元数据

  • 比特流过滤器转换VVC从MP4到Annex B

  • videotoolbox的Scale_vt过滤器

  • videotoolbox的transpse_vt过滤器

  • 支持P_SKIP提示以加速libx264编码

  • 支持HEVC、VP9、AV1编解码器,增强flv格式

  • Apsnr和asisdr音频滤波器

  • OSQ解码器和编码器

  • 在增强的RTMP协议中支持HEVC、VP9、AV1编解码器

  • CRI USM解混器

  • ffmpeg命令行'-top'选项已弃用,取而代之的是setfield过滤器

  • AV1编码器

  • ffprobe XML输出模式更改为考虑同一父元素中的多个变量字段元素

  • Ffprobe -output_format选项作为-of的别名添加

除去这些特性,FFmpeg内部也有一些优化,包含了:

  • 在视频解码器中大幅减少内存分配,从而降低内存等开销

  • 对 DSP 代码的许多部分进行了 RISC-V 优化,针对常用解码器已经被合并

  • 提高每个数据包的时间戳和帧持续时间的正确性,从而提升变帧率视频的支持

下一个主要版本将是7.0版本,按照计划,将在2024年2月份发布。FFmpeg最近这些年,虽然也经历了一些波折,但发展并未停滞,相反越来越迅速,而我们也即将迎来FFmpeg 7.0的大版本。

Reference:

https://ffmpeg.org/index.html%23pr6.1

https://github.com/veovera/enhanced-rtmp/blob/main/enhanced-rtmp.pdf

https://devblogs.microsoft.com/directx/video-acceleration-api-va-api-now-available-on-windows/

* 感谢赵军老师对本篇文章的技术审校。

10天倒计时!深圳站大会亮点前瞻!

▲点击
“阅读原文”

跳转LiveVideoStackCon 2023 深圳站 官网,了解更多信息

本文分享自微信公众号 - LiveVideoStack(livevideostack)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论