多媒体框架 GStreamer 1.22.0 可用

经过一年的开发,GStreamer 1.22 发布了,这是一组跨平台的组件,用于创建广泛的多媒体应用程序,从媒体播放器和音频/视频文件转换器到 VoIP 应用程序和流媒体系统。 GStreamer 代码根据 LGPLv2.1 获得许可。 另外,正在开发 gst-plugins-base、gst-plugins-good、gst-plugins-bad、gst-plugins-ugly 插件的更新,以及 gst-libav 绑定和 gst-rtsp-server 流媒体服务器。 在API和ABI层面,新版本向后兼容1.0分支。 二进制程序集很快就会为 Android、iOS、macOS 和 Windows 做好准备(在 Linux 中,建议使用发行版中的包)。

GStreamer 1.22 的主要改进:

  • 改进了对 AV1 视频编码格式的支持。 添加了通过 VAAPI/VA、AMF、D1D3、NVCODEC、QSV 和 Intel MediaSDK API 使用硬件加速进行 AV11 编码和解码的功能。 为 AV1 添加了新的 RTP 处理程序。 改进了 MP1、Matroska 和 WebM 容器中 AV4 的解析。 这些组件包括带有基于 dav1d 和 rav1e 库的 AV1 编码器和解码器的元素。
  • 实现了对 Qt6 的支持。 添加了 qml6glsink 元素,该元素使用 Qt6 在 QML 场景内渲染视频。
  • 添加了 gtk4paintablesink 和 gtkwaylandsink 元素,以便使用 GTK4 和 Wayland 进行渲染。
  • 添加了新的自适应流客户端,支持 HLS、DASH 和 MSS(Microsoft 平滑流)协议。
  • 能够创建针对尺寸减小而优化的精简组件。
  • 添加了对 WebRTC 同播和 Google 拥塞控制的支持。
  • 提供了一个简单且独立的插件,用于通过 WebRTC 发送。
  • 添加了新的 MP4 媒体容器打包程序,支持碎片和非碎片数据。
  • 为 Amazon AWS 存储和音频转录服务添加了新插件。
  • 更新了 Rust 语言的绑定。 添加了 19 个用 Rust 编写的新插件、效果和元素 (gst-plugins-rs)。 值得注意的是,新 GStreamer 中 33% 的更改是在 Rust 中实现的(更改涉及绑定和插件),而 gst-plugins-rs 插件集是开发最活跃的 GStreamer 模块之一。 用 Rust 编写的插件可以在任何语言的程序中使用,并且使用它们类似于使用 C 和 C++ 中的插件。
  • Rust 插件作为 Windows 和 macOS 平台官方二进制包的一部分提供(Linux、Windows 和 macOS 支持组装和交付)。
  • 已经实现了用Rust编写的基于WebRTC的媒体服务器,支持WHIP(WebRTC HTTP ingest)和WHEP(WebRTC HTTP egress)。
  • 添加了 videocolorscale 元素,它结合了视频转换和缩放功能。
  • 改进了对高颜色深度视频的支持。
  • 导航 API 添加了对触摸屏事件的支持。
  • 在打包媒体容器之前为 PTS/DTS 重建添加了 H.264/H.265 时间戳校正元素。
  • 在 Linux 平台上,DMA 的使用已得到改进,可在使用硬件加速对视频进行编码、解码、过滤和渲染时与缓冲区配合使用。
  • 与 CUDA 的集成得到了改进:添加了 gst-cuda 库和 cudaconvertscale 元素,并提供了与 D3D11 和 NVIDIA dGPU NVMM 元素的集成。
  • 与 Direct3D11 的集成得到了改进:添加了新的 gst-d3d11 库,扩展了 d3d11screencapture、d3d11videosink、d3d11convert 和 d3d11compositor 插件的功能。
  • 对于 AMD GPU,实现了 H.264/AVC、H.265/HEVC 和 AV1 格式的新硬件加速视频编码器,并使用 AMF(高级媒体框架)SDK 构建。
  • applemedia 插件添加了对 H.265/HEVC 视频编码和解码的支持。
  • androidmedia 插件添加了对 H.265/HEVC 视频编码的支持。
  • 强制实时属性已添加到 audiomixer、compositor、glvideomixer 和 d3d11compositor 插件中,以强制启用实时模式。

来源: opennet.ru

添加评论