多媒体框架 GStreamer 1.20.0 可用

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

GStreamer 1.20 的主要改进:

  • GitLab 上的开发已切换为使用所有模块共用的单个存储库。
  • 添加了新的高级 GstPlay 库,它取代了 GstPlayer API,并提供了类似的播放内容功能,不同之处在于使用消息总线而不是 GObject 信号来通知应用程序。
  • 添加了对解码 WebM 透明度信息的支持,允许播放具有透明区域的 VP8/VP9 视频。
  • 编码配置文件现在支持设置其他特定于应用程序的属性。
  • Compositor支持多线程视频转换和混合。
  • depayloader 和 Payloader 类统一支持使用附加 RTP 标头(RTP 标头扩展)。
  • 添加了对 SMPTE 2022-1 2-D(前向纠错)机制的支持。
  • VP8、VP9和H.265编解码器的Encodebin和transcodebin实现了智能编码模式,仅在必要时进行转码,其​​余时间转发现有码流。
  • souphttpsrc 插件现在与 libsoup2 和 libsoup3 兼容。
  • 添加了在中间帧(子帧)级别解码输入数据的功能,这使您无需等待接收完整帧即可开始解码。 OpenJPEG JPEG 2000、FFmpeg H.264 和 OpenMAX H.264/H.265 解码器中包含对此优化的支持。
  • 当解码 RTP、WebRTC 和 RTSP 协议的视频时,可自动处理数据包丢失、数据损坏和关键帧请求。
  • mp4 和 Matroska 媒体容器打包程序添加了对动态更改编解码器数据的支持,使您可以更改 H.264/H.265 输入流的配置文件、级别和分辨率。
  • 添加了创建碎片 mp4 媒体容器的模式。
  • 基于 WPE(嵌入式 WebKit 端口)的端口添加了音频支持。
  • 添加了使用 CUDA 进行色彩空间转换、元素缩放和元素加载的功能。
  • 添加了对 OpenGL glupload 和 gldownload 元素的 NVMM(NVIDIA 内存模块)内存的支持。
  • 改进了 WebRTC 支持。
  • 已经提出了 VA-API(视频加速 API)的新插件,支持更多解码器和后处理元素。
  • 除了缓冲区和缓冲区列表之外,AppSink API 还添加了对事件的支持。
  • AppSrc 中添加了内部队列的其他设置。
  • 更新了 Rust 语言绑定并添加了 26 个用 Rust 编写的新插件 (gst-plugins-rs)。
  • 添加了 aesdec 和 aesenc 元素,用于使用 AES 算法进行加密和解密。
  • 添加了 fakeaudiosink 和 videocodectestsink 元素用于测试和调试。
  • 改进了用于创建简约 GStreamer 构建的工具。
  • 添加了使用 FFmpeg 5.0 进行构建的功能。
  • 对于 Linux,已经实现了 MPEG-2 和 VP9 编解码器的版本,无需保存状态(无状态)即可运行。
  • 对于 Windows,AV3 和 MPEG-11 支持已添加到基于 Direct1D2/DXVA 的解码器中。

来源: opennet.ru

添加评论