FFmpeg 6.1 发布,7.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)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

阿里云严重故障,全线产品受影响(已恢复) 俄罗斯操作系统 Aurora OS 5.0 全新 UI 亮相 汤不热 (Tumblr) 凉了 多家互联网公司急招鸿蒙程序员 .NET 8 正式 GA,最新 LTS 版本 UNIX 时间即将进入 17 亿纪元(已进入) 小米官宣 Xiaomi Vela 全面开源,底层内核为 NuttX Linux 上的 .NET 8 独立体积减少 50% FFmpeg 6.1 "Heaviside" 发布 微软推出全新“Windows App”
{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/3521704/blog/10143844
6.1