MediaMTX v1.11.1 版本发布:流媒体服务器的重要优化与修复
MediaMTX 是一款开源的轻量级流媒体服务器,它支持多种流媒体协议,包括 RTMP、HLS、WebRTC 等,广泛应用于视频直播、监控系统等场景。最新发布的 v1.11.1 版本带来了一系列重要的修复和优化,进一步提升了系统的稳定性和兼容性。
播放功能优化
本次更新对播放功能进行了两处重要改进。首先修复了当指定开始时间时播放列表中出现多余条目的问题,这使得播放列表更加准确和整洁。其次,改进了/list接口的行为,当没有可用时间段时始终返回404状态码,这遵循了REST API的最佳实践,使错误处理更加明确。
Windows平台改进
针对Windows平台的用户,本次更新修复了关闭某些自定义命令时可能出现的问题。这个改进使得在Windows环境下运行自定义命令更加稳定可靠,特别是对于那些需要与外部程序交互的场景。
RTMP协议兼容性增强
RTMP协议方面,新版本特别针对DJI Osmo Action 4相机进行了兼容性优化。这意味着使用这款流行运动相机的用户现在可以更加顺畅地将视频流推送到MediaMTX服务器,为户外直播和运动记录等场景提供了更好的支持。
HLS客户端改进
在HLS客户端方面,新版本在"不支持的编解码器"错误信息中增加了具体的编解码器信息显示。这个看似小的改进实际上大大提升了调试效率,当遇到编解码器不兼容问题时,管理员可以立即知道具体是哪种编解码器导致了问题,而不需要额外的日志分析。
WebRTC重大改进
WebRTC部分是本版本最重要的更新之一,包含了多项关键改进:
- 修复了MTX_QUERY参数在读取或发布时未被正确设置的问题,这影响了某些依赖查询参数的功能实现。
- 切换到了recvonly传输模式,这一改变特别解决了设备支持AV1解码但不支持编码时的兼容性问题。值得注意的是,之前由于一个系统缺陷,当使用recvonly传输器且没有音频时,视频无法显示,这个版本彻底解决了这个问题。
- 修复了在失败后重新连接到服务器的问题,提高了WebRTC连接的可靠性。
依赖项更新
作为常规维护的一部分,v1.11.1版本更新了多个依赖库,包括:
- 安全相关的golang.org/x/term和golang.org/x/crypto库
- RTP处理库github.com/pion/rtp
- 命令行解析库github.com/alecthomas/kong
- MP4处理库github.com/abema/go-mp4
- JWT相关库github.com/MicahParks/jwkset和github.com/MicahParks/keyfunc/v3
- 文件系统库github.com/go-git/go-billy/v5
- SDP处理库github.com/pion/sdp/v3
- 最重要的WebRTC库升级到了pion/webrtc v4版本
- HLS库github.com/bluenviron/gohlslib/v2
- 前端hls.js播放器升级到v1.5.19
这些依赖项的更新不仅带来了性能改进和新功能支持,也修复了已知的系统问题。
安全保证
所有发布的二进制文件都由自动化工作流生成,没有人工干预,确保了构建过程的可信度。同时提供了所有平台的SHA256校验和,用户可以验证下载文件的完整性。
MediaMTX v1.11.1版本虽然是一个小版本更新,但包含了对系统多个关键组件的优化和修复,特别是在WebRTC兼容性和播放功能方面的改进,使得这个轻量级流媒体服务器更加稳定可靠,能够满足更多样化的应用场景需求。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



