![]()
![]()
![]()
mediamtx v1.15.6 Latest 版本正式發布,本次更新為一個以修復和改進為主的版本,覆蓋日志系統、RTSP、SRT 以及依賴庫更新等多個關鍵方面,同時在安全和發布流程上進一步加強。以下為 v1.15.6 的完整更新內容中文詳解說明。
一、通用改進
1. 新增結構化日志
新增結構化日志能力,引入更加規范和可機器解析的日志格式,方便在生產環境中進行日志分析、檢索和集中式收集。2. 修復 H264 WebRTC 軌道錄制 1 分鐘時間偏移問題
修復在錄制 H264 WebRTC Track 時出現的 1 分鐘時間偏移問題,保證錄制時間軸與實際媒體時間一致。3. macOS 上禁用 syslog 日志
在 macOS 系統上默認禁用 syslog 日志輸出,避免與系統日志行為產生沖突。4. 優化 syslog 日志級別處理
在向 syslog 寫入日志時,直接將日志級別(如 WARN、INFO 等)傳遞給 syslog,不再在日志內容中重復寫入級別和日期。
這樣可以更好地與 syslog 生態集成,并方便使用 syslog 自帶的搜索和過濾工具。
1. 避免錯誤設置反向通道
修復 RTSP 中錯誤設置 back channel(反向通道)的問題,避免產生不必要的通道配置。2. 支持 HappyTime ONVIF 和 RTSP 客戶端發送的 URI 格式
增強對部分 ONVIF 和 RTSP 客戶端發送的 URI 格式的兼容性,提升設備接入成功率。3. 修復媒體被錯誤標記為反向通道的問題
部分攝像頭會將媒體錯誤地標記為 back channel。現在通過檢測完整 SDP 內容來判斷:
如果 SDP 中既存在反向通道又存在標準通道,則認為反向通道是有效的;
否則將取消反向通道標記,避免錯誤識別。4. 存在反向通道時,為標準通道添加 recvonly 屬性
當 RTSP 會話中存在 back channel 時,會為標準通道自動添加 recvonly 屬性,從而保證 SDP 語義正確。
1. 修復高延遲場景下連接異常斷開的問題
在監聽并接受傳入連接請求時,如果由于網絡延遲,連接響應被對端延遲接收,會導致對端再次發送連接請求。
此前實現中:
第一個連接請求在被接受后,已從用于檢測重復請求的映射中移除;
第二個請求無法識別為重復請求,會被當作新的連接請求處理,從而破壞原有連接。
本次修復通過引入一個新的映射,用于檢查連接請求是否已經關聯到一個已接受的連接,從而正確識別重復請求,解決高延遲環境下連接不穩定的問題。
四、依賴庫更新
以下為 v1.15.6 中依賴庫的完整更新列表:
1. code.cloudfoundry.org/bytefmt 從 v0.58.0 更新到 v0.59.0
2. github.com/bluenviron/gortmplib 從 v0.1.2 更新到 v0.2.0
3. github.com/bluenviron/gortsplib/v5 從 v5.2.1 更新到 v5.2.2
4. github.com/bluenviron/mediacommon/v2 從 v2.5.3 更新到 v2.6.0
5. github.com/matthewhartstonge/argon2 從 v1.4.3 更新到 v1.4.4
6. github.com/pion/ice/v4 從 v4.0.13 更新到 v4.1.0
7. github.com/pion/rtp 從 v1.8.26 更新到 v1.9.0
8. github.com/pion/sdp/v3 從 v3.0.16 更新到 v3.0.17
9. github.com/pion/webrtc/v4 從 v4.1.7 更新到 v4.2.1
10. golang.org/x/crypto 從 v0.45.0 更新到 v0.46.0
11. golang.org/x/sys 從 v0.38.0 更新到 v0.39.0
12. golang.org/x/term 從 v0.37.0 更新到 v0.38.0
13. github.com/pion/dtls/v3 從 v3.0.8 更新到 v3.0.9
14. github.com/pion/sctp 從 v1.8.41 更新到 v1.9.0
15. github.com/pion/stun/v3 從 v3.0.1 更新到 v3.0.2
16. github.com/quic-go/qpack 從 v0.5.1 更新到 v0.6.0
17. github.com/quic-go/quic-go 從 v0.54.1 更新到 v0.57.0
18. go.uber.org/mock 已移除
19. golang.org/x/mod 已移除
20. golang.org/x/net 從 v0.47.0 更新到 v0.48.0
21. golang.org/x/sync 已移除
22. golang.org/x/text 從 v0.31.0 更新到 v0.32.0
23. golang.org/x/time 從 v0.9.0 更新到 v0.12.0
24. golang.org/x/tools 已移除
1. 構建安全性
所有二進制文件均通過 Release 工作流自動從源碼編譯完成,全過程無人為干預,有效防止外部篡改和供應鏈攻擊。2. 二進制文件來源驗證
可以通過 GitHub Attestations 驗證二進制文件確實由官方工作流生成,示例如下:
ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx
3. 校驗和驗證
可以下載 checksums.sha256 文件,并通過以下命令驗證本地二進制文件的完整性:
cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check
總結
mediamtx v1.15.6 是一個以穩定性、兼容性和可觀測性為核心的更新版本。
從結構化日志到 RTSP 和 SRT 的關鍵問題修復,再到大量底層依賴升級,這個版本非常適合對生產環境穩定性有高要求的用戶進行升級使用。
我們相信人工智能為普通人提供了一種“增強工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業洞察。 歡迎關注“福大大架構師每日一題”,發消息可獲得面試資料,讓AI助力您的未來發展。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.