Go語言串流媒體開源專案 LAL 今天釋出了v0.36.7版本。
LAL 專案地址:https://github.com/q191201771/lal
老規矩,簡單介紹一下:
▦ Customize Sub,我有的都給你
這是提供給用lalserver做二次開發的小夥伴們的一個重要的功能,業務方可以通過設定回撥函數的方式獲取lalserver內部的流。
獲取到流有什麼用呢,拿lal的衍生專案lalmax來舉例,它基於lalserver的Customize Sub,為所有輸入lalserver中的流擴充套件了srt和webrtc播放的能力。
這裡也簡單介紹一下lalmax,它將會是lal整體版圖中的一個重要專案,它基於lalserver提供的二次開發介面,與第三方庫結合,支援更多的協定、實現更豐富的功能。
相應的,lal專案會持續保持自身無第三方依賴,高效能等特點。
lalmax專案地址: https://github.com/q191201771/lalmax
如果你想更好的理解Custmize Sub,可以先看看與Customize二次開發相關的另外兩篇檔案:
如果你想直接看程式碼:
▦ rtmp相容性優化
▦ rtsp優化
▦ lalserver優化
▦ bug修復
首先是一個比較嚴重的bug,會導致hls無法播放,這是在上個版本v0.35.4引入的,原因是轉ts時,pmt中的avc標誌筆誤寫錯了寫成aac了。。
然後是協定處理上的bug:
lalserver中釋放資源的bug:
播放不存在的rtsp流,超時沒有徹底釋放
其他一些小bug:
使用hls中的回撥物件IMuxerObserver前,先檢查是否為nil
▦ 更多
還有一些修改不逐個介紹了,大致如下:
- [chore] all shell file go to script folder
- [chore] 所有指令碼+x增加執行許可權,保證CI正常執行
- [chore] 修復macos平臺readlink沒有-f引數導致指令碼執行失敗的問題
- [fix] webui: read null when no group
- [fix] connection: not working set ModWriteChanSize
- [fix] not working timout for RTMP server session
- [test] dump rtsp test support video
- [refactor] 整理所有跨域的程式碼
- [refactor] 整理所有超時相關的程式碼
- [refactor] hevc: 暴露hevc.Context中的所有欄位
- [refactor] avc: 暴露avc.Context中的Sps結構體欄位
以上內容摘取自 《lal CHANGELOG版本紀錄檔》 ,你可以通過原始檔獲取更詳細的內容。
▦ 開發者
感謝參與這個版本的開源貢獻者:yoko(阿亮), ZSC714725(阿響), HustCoderHu(小虎), Jae-Sung Lee(阿韓)
▦ 進一步瞭解lal
微信掃碼加我好友(進微信群):
本文完,祝你今天開心。
yoko, 202307