打开网易新闻 查看精彩图片

mediamtx在 2025年11月21日发布了 v1.15.4 版本(代号 “San Francisco”),本次更新包含了多项修复与性能优化,涵盖了通用功能、RTP、RTSP、HLS,以及依赖库的升级,同时,还引入了安全构建机制,确保发布的二进制文件可信。以下为更新详情:

一、通用功能更新

  • • 支持多个 CORS 允许来源,提升跨域访问的灵活配置能力。

  • • 新增udpReadBufferSize参数,可设置全局 UDP 读取缓冲区大小,应用于所有 UDP 套接字。

  • udpReadBufferSize扩展到 WebRTC UDP 套接字,能够在不修改系统参数的情况下减少数据包丢失。

  • • 修复录制功能中 FMP4 文件持续时间溢出的问题。两个采样之间的时间戳差值原本使用无符号整数存储,当为负数时会造成溢出。

二、RTP相关更新
  • • 在数据读取前先对 RTP 包进行重新排序,提升数据处理的连贯性和稳定性。

三、RTSP相关更新
  • • 支持没有状态消息的 RTSP 响应。

  • • 修复在使用 Media Foundation 读取时的超时问题。

  • • 修复 MIKEY 消息的 SP 负载,正确填充 PayloadSPPolicyParamTypeAuthTagLen 和 PayloadSPPolicyParamTypeSessionAuthKeyLen。

  • • 支持动态 SSRC 的格式。

  • • 优化性能,在解码时仅处理一次 RTP 头部。

四、HLS相关更新
  • • HLS 复用器中修复 FMP4 文件持续时间溢出的问题,避免播放时出现异常时间戳。

五、依赖库更新

本次版本对多个依赖库版本进行了升级:

  • code.cloudfoundry.org/bytefmt→ v0.58.0

  • github.com/alecthomas/kong→ v1.13.0

  • github.com/asticode/go-astits→ v1.14.0

  • github.com/bluenviron/gohlslib/v2→ v2.2.4

  • github.com/bluenviron/gortsplib/v5→ v5.2.0

  • github.com/matthewhartstonge/argon2→ v1.4.3

  • github.com/pion/interceptor→ v0.1.42

  • github.com/pion/rtp→ v1.8.25

  • golang.org/x/crypto→ v0.45.0

  • golang.org/x/sys→ v0.38.0

  • golang.org/x/term→ v0.37.0

  • github.com/pion/transport/v3→ v3.1.1

  • golang.org/x/mod→ v0.30.0

  • golang.org/x/net→ v0.47.0

  • golang.org/x/sync→ v0.18.0

  • golang.org/x/text→ v0.31.0

  • golang.org/x/tools→ v0.39.0

  • hls.js→ v1.6.15

六、安全性更新
  • • 所有二进制文件均由 Release 工作流自动从源代码构建,确保无人工干预,防止外部篡改。

  • • 用户可通过GitHub Attestations验证构建来源:
    .

ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx
  • • 可通过下载checksums.sha256校验二进制文件的 SHA256 值:
    .

cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check

总结:

代码地址:github.com/bluenviron/mediamtx

mediamtx v1.15.4在性能优化、协议支持、依赖更新和安全构建方面都有显著提升,尤其是在多 CORS 支持、UDP 缓冲优化、RTSP 动态 SSRC 以及 FMP4 时间戳溢出修复等关键功能上,为流媒体传输的稳定性和安全性带来了更高的保障。

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。