LAL v0.33.0釋出,支援抓取流資料回放除錯

就想叫yoko發表於2023-02-13

Go語言流媒體開源專案 LAL 今天釋出了v0.33.0版本。

LAL 專案地址:https://github.com/q191201771...

老規矩,先挑三個修改簡單介紹一下:

▌ 一,支援抓取流資料回放除錯

這個功能可以大幅提高lal使用者反饋問題、定位問題的效率,從而提高lal的相容性。

詳情我單獨寫了一篇文件: 《debug dump抓取lal流除錯》

▌ 二,HTTP-API和HTTP-Notify回撥為HLS協議提供更豐富的資訊

我們都知道,HLS是客戶端持續性發起一個又一個HTTP請求,每次獲取一個TS流片段檔案的方式來播放的。
這種短連線的方法導致服務端不好區分不同的播放者,也不好判斷播放者開始播放、結束播放的時間點。

此次,我們透過增加302跳轉,給m3u8 url增加一個帶使用者唯一ID的引數,並且給一個使用者的多個TS都增加上該ID,從而支援:

  • 獲取hls播放者數量、位元速率等資訊
  • 獲取hls開始播放、結束播放的事件通知

這個功能在配置檔案有兩個相關的配置,具體見 hls/sub_session_timeout_mshls/sub_session_hash_key

如果你不喜歡m3u8 302跳轉帶來的開銷,你也不關心hls的統計與通知的資訊,那麼你就可以透過配置檔案將該功能關閉。

相關文件:
《lalserver HTTP API介面》
《lalserver HTTP Notify(Callback/Webhook)事件回撥》

▌ 三,解析rtp extension擴充套件頭

增加了解析rtp擴充套件頭的邏輯,使得可以更好的支援rtsp流。

▌ 更多修改

還有一些修改不逐個介紹了,大致如下:

  • [chore] docker同時支援amd和arm架構
  • [feat] demo: analyseflv支援http flv流或flv檔案作為輸入
  • [feat] 外掛化例子:增加讀取flv檔案再透過CustomPubSession將資料輸入lalserver的例子
  • [opt] rtmp: 縮小打chunk時預分配的記憶體大小
  • [opt] 外掛化:Cutsomize Pub支援AvPacket、RtmpMsg兩種輸入資料的方式
  • [opt] Gop緩衝功能支援配置單個Gop內的最大緩衝幀數量
  • [fix] 修復hls獲取app name失敗的問題
  • [fix] flv: 修復ReadAllTagsFromFlvFile中沒有關閉檔案的bug
  • [fix] rtmp: 接收buff解析前有效長度檢查

以上內容摘取自 《lal CHANGELOG版本日誌》 ,你可以透過源文件獲取更詳細的內容。

進一步瞭解lal

本文完,祝你今天開心。

相關文章