LAL v0.32.0發布,更好的支援純影片流

  • 2022 年 11 月 11 日
  • 筆記

Go語言流媒體開源項目 LAL 今天發布了v0.32.0版本。距離上個版本剛好一個月時間,LAL 依然保持著高效迭代的狀態。

LAL 項目地址://github.com/q191201771/lal

挑三個比較重要的修改簡單介紹一下:

▌ 一,自動疊加靜音音頻

這個是為了更好的支援 純影片流 ,解決很多播放器播放純影片的直播流時,可能出現首幀打開時間特別慢、延遲大的問題。

詳情我單獨寫了一篇文檔: 《lalserver 自動疊加靜音音頻》

▌ 二,支援RTMPS,RTSPS

基於TLS/SSL對RTMP和RTSP協議進行加密,帶來更高的安全性。

RTMPS和RTSPS可以通過 lalserver 的配置文件開啟,比如RTMPS對應的配置:

  "rtmp": {
    //. 是否開啟rtmp服務的監聽
    //  注意,配置文件中控制各協議類型的enable開關都應該按需打開,避免造成不必要的協議轉換的開銷
    "enable": true,

    //. RTMP服務監聽的埠,客戶端向lalserver推拉流都是這個地址//. RTMP服務監聽的埠,客戶端向lalserver推拉流都是這個地址
    "addr": ":1935",

    //. 是否開啟rtmps服務的監聽
    //  注意,rtmp和rtmps可以任意開啟一個或全部打開或全部關閉
    "rtmps_enable": true,

    //. RTMPS服務監聽的埠地址
    "rtmps_addr": ":4935",

    //. RTMPS的本地cert文件 
    "rtmps_cert_file": "./conf/cert.pem",

    //. RTMPS的本地key文件
    "rtmps_key_file": "./conf/key.pem",
    ...
  },

提示,以上內容來源 《lalserver配置文件說明》 ,打開源文檔可以獲得更友好的閱讀格式。

▌ 三,更好的支援更多的RTSP攝影機

比如:

  • rtp協議棧支援解析header中的padding和csrc
  • 修復aac rtp type不是標準值導致無法合幀的問題。提高兼容性
  • 修復rtsp auth可能失敗的bug

以上處理都是對社區真實回饋的響應。

▌ 更多修改

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

  • [feat] demo: pullhttpflv拉取http-flv時可以存儲為flv文件
  • [opt] 二次開發: 當DelCustomizePubSession後,調用被刪除對象的FeedAvPacket方法將返回錯誤
  • [opt] 二次開發: 支援直接使用json字元串作為配置內容初始化ILalServer
  • [opt] 兼容性優化。轉ts時,如果調整時間戳失敗則使用調整前的時間戳。
  • [opt] 兼容性優化。當rtmps和rtsps載入簽名文件失敗時,只列印日誌而不退出lalserver
  • [fix] http-api: 修復sub http-flv remote_addr欄位沒有值的bug
  • [log] 列印rtsp信令。豐富多處錯誤日誌,比如轉hls異常
  • [doc] 新增文檔:重要概念 //pengrl.com/lal/#/concept

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

進一步了解lal

本文完,祝你今天開心。

yoko, 202211