GStreamer 1.26.7:所有新功能和关键修复

  • 维护版本包含有针对性的修复,并且没有 API/ABI 更改。
  • RTP/RTSP、容器(TS/Matroska/FLV)和 GPU(CUDA/D3D12)的改进。
  • 对线程共享和视频速率的性能和延迟进行调整。
  • 适用于 Android、iOS、macOS 和 Windows 的二进制文件即将推出。

gstreamer 1.26.7

GStreamer 1.26.7的发布感觉像是一次精细的更新:它专注于修复漏洞、完善细节,并增强跨平台多媒体框架的稳定性。虽然它没有带来颠覆性的改变,但确实提供了一系列重要的改进,这些改进共同提升了实际音频和视频场景中的可靠性。该版本特别关注 RTP/RTSP、容器、GPU、CEA-608 字幕、时间轴和开发工具等关键要素。对于已经在使用 1.26.x 系列版本并希望在生产环境中减少意外情况的用户来说,这是一个稳妥的选择。

团队强调,建议所有稳定分支用户进行此次更新,包括使用实时工作流程、常用格式解复用以及NVIDIA GPU或Direct3D 12支持的流水线的应用程序。此外,还有一个实用信息:Android、iOS、macOS和Windows的二进制文件即将推出,这将使跨平台团队更容易在不同环境之间无缝切换。

GStreamer 1.26.7 版本概述

GStreamer 1.26.7 版本主要针对错误修复、延迟调整和兼容性改进,修复内容涵盖特定插件和通用组件。亮点包括:改进 CEA-608 覆盖层、支持 CUDA 13.0 工具链、修复 D3D12 中的错误、为 RTP 中的线性音频新增有效载荷/反有效载荷、优化解复用器和复用器,以及改进线程共享机制。目标是在不改变 API 或稳定版 1.26 分支预期行为的前提下,提高系统的稳定性。

  • 字幕和覆盖:更好地管理非系统内存 cea608覆盖.
  • GPU:内核编译到运行时支持 CUDA 13.0 和 D3D12 修复裁剪和去隔行问题。
  • 解复用器和容器:改进 qtdemux (环绕声道和 GoPro 的性能),修正 mpegtsmux/tsdemux 适用于 Opus,并在确定多个复用器上的流末尾的垫片时进行修复。
  • 实时网络:线性音频(L8、L16、L24)的新负载器/卸载器、TCP/交错模式下的 RTSP 保持连接以及 rtp/rtpbasepay2/rtpamrpay2 中的多个修复。
  • 性能和延迟:改进 线程共享, 视频速率 和时间戳管理。
  • 开发和构建:修改了 gobject-introspection 注释,并在 Cerbero 上将 Meson 更新至 1.9.0,以实现 Xcode 26 兼容性。 更稳定,更少内存泄漏.

GStreamer 1.26.7 中的修复和改进的详细信息

字幕和叠加 CEA-608

cea608overlay组件得到了显著改进:它现在可以更有效地处理来自非系统管理内存的缓冲区,这在集成加速器或外部源时是一个常见问题。这减少了在复杂流程中将字幕与视频混合时出现的细微错误。最终,当数据源不是传统的 RAM 时,叠加层将更加可预测和稳定。

GPU:CUDA 和 Direct3D 12

在 NVIDIA 方面,GStreamer 1.26.7 修复了使用 CUDA 13.0 编译内核的运行时问题。对于那些动态生成内核或依赖运行时编译的过滤器链的用户来说,这项改进至关重要。它可以防止在已迁移到最新 CUDA 工具链的环境中出现崩溃和错误。

对于 Windows 系统,D3D12 后端在两方面进行了改进:转换器中支持裁剪元数据,反交错器中改进了直通管理。实际上,这意味着整个流程中裁剪的一致性,以及反交错器不会在不应该干扰的情况下进行干扰,从而避免不必要的处理成本。Direct3D 12 流程的视觉一致性和性能均得到提升。

来源和同步:fallbacksrc 和 inter

fallbacksrc 结合源管理的改进并发出信号 no-more-pads 对于不了解流程的家长,可以协助协调根据可用性切换来源的管道。这简化了存在替代输入的设计。 更少的“粘合”代码和更可靠的源代码更改.

`inter`元素添加了属性,用于微调其内部子组件。对于那些通过管道内链接最大化元素间通信的开发者来说,这种更精细的粒度允许他们在不使用 hack 手段的情况下调整行为。这使得在高级拓扑结构中能够更精细地控制同步和缓冲。

解复用和容器

在 MPEG-TS 领域,mpegtsmux和tsdemux可以修复与 Opus 音频相关的问题。虽然 Opus 并非最经典的 TS 编解码器,但它在现代流媒体中正日益普及。这可以减少失真、不同步和不稳定的流解析,并提高 Opus 在 TS 中的互操作性。

一些复用器,例如matroskamux、tsmux、flvmux和cea608mux ,会在流结束 ( EOS ) 发生时自动修正最佳填充的选择。这种修正对于确保文件或流的干净闭合至关重要,可以防止出现不一致的头部或不完整的尾部。最终,这将带来更干净的流闭合和正确的结束文件。

RTP/RTSP:线性音频、保持连接和计时

RTP协议栈新增了对线性L8、L16和L24音频格式的有效载荷和解载荷器,这些格式在对延迟和保真度要求极高的专业环境中非常常见。这些附加组件扩展了直接兼容性,无需中间转换,从而为流式传输未压缩音频提供了更大的灵活性。

rtspsrc现在以 TCP/交错模式发送 keepalive 数据包,从而最大限度地减少在存在代理、防火墙或容易暂停不活跃连接的网络时发生的超时断开连接。在监控或远程贡献环境中,此措施几乎是必不可少的。在实际网络上实现更稳定的 RTSP 会话。

在rtpamrpay2 中,帧质量标记相关的问题得到了修正;而在rtpbasepay2 中,尽可能地重用了最后一个 PTS(时间戳)——这是针对 NVIDIA Jetson AV1 编码器所报告问题的一种实用解决方案。这看似微不足道,但却直接影响到流的时间连续性,从而减少抖动,使时间戳更加一致。

时间和帧率

视频速率功能消除了可变帧速率流中未知缓冲时长可能造成的问题。对于“非均匀”的摄像机和信号源,此类问题现在得到了更好的处理。因此,对可变帧速率的容忍度更高,不易出现故障。

性能:线程共享和延迟

线程共享子系统获得了多项改进,主要针对延迟和稳定性。在元素之间共享线程可以降低开销,但需要巧妙地平衡以避免瓶颈。此次改进优化了这种平衡,尤其在复杂的低延迟流水线中优势显著。更低的开销和更快的实时响应。

互操作性和大缓冲区:unixfd

Unixfd现在支持处理包含大型有效载荷的缓冲区。这种兼容性在使用文件描述符连接进程时非常有用,这在多进程架构中很常见,或者在专用组件之间传递帧时也很常见。可实现大型数据集的无缝传输。

编辑和注释服务

在编辑服务中,已经做到了 GES时间线 尊重丢弃信号的决定 SELECT_ELEMENT_TRACK,纠正了导致意外行为和内存泄漏的路径。此调整提供了更可预测的非线性编辑,避免了释放元素时产生的“幽灵”。 更合规、无泄漏的时间表.

此外,作为跨语言生成绑定基础的gobject-introspection注解也得到了改进。更精确的注解使得绑定更加准确,从而减少了在 Python、JavaScript 或其他语言开发过程中可能出现的意外情况。更完善的自省描述带来了更可靠的绑定。

构建和工具链:Cerberus 和 Meson

Cerbero 构建系统将 Meson 更新至 1.9.0 版本,从而实现与 Xcode 26 的兼容性。该组件是构建生态系统 SDK 和二进制文件的关键,因此此次更新将使 macOS 上的构建更加现代化。最新的构建环境意味着 CI/CD 流程更加顺畅。

GStreamer 1.26.7 更新和二进制文件可用

团队预计 Android、iOS、macOS 和 Windows 的二进制文件将“很快”发布,从而简化交叉测试和部署。由于 API/ABI 没有变化,且 1.x 版本稳定,即使对于保守的部署周期,这也是一个合适的升级。升级到 1.26.7 基本上是一个低风险的操作。

如果您维护敏感的流水线(例如,使用 NVIDIA Jetson 硬件或通过 RTSP 连接的 IP 摄像头),建议进行现场验证,尤其要关注时序变更(PTS 重用)和 keepalive 机制。即便如此,本次发布的明确目标是在不改变合同约定的前提下消除所有错误。经过一轮质量保证后,即可放心测试和部署。

良好做法和法律说明

在分发二进制文件或文档时,请注意常见的品牌规范:正如参考资料所示,Arch Linux 的名称和徽标是公认的商标,而 Linux® 商标的使用已获得 LMI(Linus Torvalds 的独家授权商)的子许可。就 GStreamer 而言,LGPL 许可和 1.x 系列 API/ABI 的稳定性使其能够轻松部署到商业和开源产品中。遵守许可和商标规范可以避免日后出现问题。

在评测 GStreamer 1.26.7 之后,一个清晰的感受油然而生:这是一次重要的维护更新,它在不影响用户体验的前提下,解决了关键组件的问题,尤其关注网络稳定性、容器和 GPU 加速。对于大多数基于 1.26 版本的项目而言,升级将带来更少的错误、更稳定的流水线,并为未来的开发奠定更坚实的基础。所有这一切都建立在一个稳定的分支之上,该分支尊重 API/ABI,并持续培育其工具和构建生态系统,让您倍感安心。此次发布旨在帮助您更好地完成当前工作,并为未来的发展奠定更坚实的基础。

gstreamer 1.26.6
相关文章:
GStreamer 1.26.6 发布了,性能改进、新编解码器和多项修复

在 Google 中将其添加为首选来源