RTSP-Simple-Server v1.12.0版本发布:全面支持绝对时间戳路由
mediamtx 项目地址: https://gitcode.com/gh_mirrors/med/mediamtx
RTSP-Simple-Server(现更名为MediaMTX)是一个开源的实时流媒体服务器,它支持多种流媒体协议,包括RTSP、RTMP、HLS、WebRTC等。该项目最初名为rtsp-simple-server,后更名为mediamtx,但核心功能保持不变。它特别适合用于构建IP摄像头监控系统、直播平台等需要实时视频传输的场景。
主要新特性
绝对时间戳路由支持
本次v1.12.0版本最重要的更新是在多个协议中增加了对绝对时间戳路由的支持:
-
RTSP协议:现在可以正确处理和路由包含绝对时间戳的媒体流,这对于需要精确时间同步的应用场景非常重要。
-
HLS协议:支持在HTTP Live Streaming中携带绝对时间戳信息,使得客户端能够获取更精确的播放时间信息。
-
WebRTC协议:实现了绝对时间戳在WebRTC传输中的路由,提升了Web端实时视频的时间准确性。
-
树莓派摄像头模块:针对树莓派摄像头采集的视频流,现在也能够正确保留和传输绝对时间戳信息。
树莓派摄像头增强
-
多流输出支持:现在可以从同一个树莓派摄像头同时输出多个不同配置的流,例如可以同时提供高分辨率低帧率和低分辨率高帧率两种流,满足不同客户端的需求。
-
时间戳处理优化:确保从树莓派摄像头采集的视频流能够携带精确的时间戳信息。
重要改进与修复
通用改进
-
录制功能稳定性提升:修复了当recordDeleteAfter设置为0时调用API可能导致的崩溃问题,并改进了录制文件删除逻辑,防止误删当前正在写入的片段。
-
配置验证增强:当配置文件中使用了不存在的字段时,系统会发出警告,帮助用户快速发现配置错误。
-
错误信息优化:将"no one is publishing to path"的错误消息改为更准确的"no stream is available on path",因为流可能来自静态源而不仅仅是实时发布者。
-
日志系统改进:新增了自定义syslog前缀的功能,并改进了丢帧、解码错误和丢包的统计与日志机制,现在能够更准确地记录和报告这些指标。
协议特定改进
RTSP协议:
- 修复了当rtspAuthMethods为空时的认证问题
- 支持在sourceRedirect中使用相对URL
- 改进了RTP包重组的日志信息
- 增强AV1编解码器的处理效率
HLS协议:
- 修复了获取绝对时间戳时的竞态条件
- 改进了对非标准时钟速率流的支持
WebRTC协议:
- 修复了连接TCP-only源时的问题
- 确保客户端始终提供UDP候选地址
- 解决了Chrome浏览器中的编解码冲突问题
树莓派摄像头:
- 确保所有参数使用32位处理
- 修复了摄像头ID识别问题,确保正确匹配指定的摄像头设备
性能与稳定性
本次更新在多个方面提升了系统的性能和稳定性:
-
改进了媒体数据处理管道,防止空字节数组的传递,减少了潜在的内存问题。
-
优化了AV1视频编解码器的处理效率,降低了CPU使用率。
-
增强了错误处理机制,特别是在RTP/RTSP协议栈中,提供了更清晰的错误信息和更健壮的错误恢复能力。
安全更新
所有发布版本都通过自动化构建流程生成,确保构建过程的可信度。每个二进制包都提供了SHA256校验和,供用户验证下载文件的完整性。
总结
RTSP-Simple-Server v1.12.0版本带来了多项重要改进,特别是在时间戳处理和路由方面有了显著提升。这些改进使得它在需要精确时间同步的应用场景中表现更加出色,如监控系统、直播平台等。同时,对树莓派摄像头的增强支持使得它在嵌入式设备上的应用更加灵活和强大。
对于现有用户,建议评估升级的必要性,特别是那些需要精确时间戳功能或使用树莓派摄像头的场景。新用户可以基于这个版本开始部署,享受更稳定和功能更全面的流媒体服务体验。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考