LAL v0.35.4釋出,OBS支援RTMP H265推流,我跟了

就想叫yoko發表於2023-04-18

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

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

老規矩,簡單介紹一下:

▦ 一. OBS支援RTMP H265推流

新出的標準,一般被稱為enhanced RTMP,OBS新版(29.1+版本,點我去下載安裝包)已經實現可以使用,LAL也做了相應的適配,換言之,你可以使用OBS推送H265的RTMP流給LAL了。

Tips: 使用H265的好處是相較於H264,佔用更低的位元速率卻擁有更高的影像質量。

值得注意的幾點細節:

  1. LAL轉換為其他封裝協議(比如RTSP、HLS)後,輸出的協議依然是標準協議,這點和之前沒啥區別。
  2. LAL輸出是RTMP/FLV時,依然保持enhanced RTMP格式,目前適配了enhanced RTMP的播放器只有mpegts.js,後續ffmpeg和VLC等播放器應該也會很快跟上支援。
  3. enhanced RTMP和之前金山雲搞的HEVC over RTMP(就是codecid=12那個,國內大部分CDN產商都支援了)是兩套東西,LAL兩種格式都支援了,目前的策略是進來的RTMP/FLV是啥格式,出去的RTMP/FLV就是啥格式,後續可能會考慮轉換(比如透過配置或url引數等)。

關於enhanced RTMP協議實現細節、OBS對應的使用方法可以看看我們的這篇文章: 《enhanced RTMP》

▦ 二. G711A/G711U

上個版本支援G711音訊編碼格式時留了個待完成的尾巴,RTSP轉RTMP只有影片沒有聲音,這個版本支援了。

G711的整體情況我們正在整理中: https://www.yuque.com/pengrl/public/psxbp37r3yqopnxx

▦ 三. RTSP TCP/UDP 切換

一個最佳化: 有的RTSP源不支援TCP傳輸音影片資料,會在SETUP信令階段給對端回覆status code 461,用於表明自身不支援TCP,新版本的LAL收到461後會嘗試切換UDP SETUP。反之UDP切TCP也是一樣的道理。

▦ 更多

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

  • [opt] mpegts根據編碼格式打包patpmt(提高純影片流的相容性)
  • [opt] HTTP-API: 支援跨域
  • [fix] rtmp: 解析amf strict array
  • [fix] rtmp轉mpegts處理時間戳錯誤,導致有b幀時ffplay播放hls報錯
  • [fix] GetSamplingFrequency missing 24000
  • [fix] simplifing logic to enable fragment_duration_ms on configuration to be under thousands (but not below hundreds)
  • [fix] 解決CustomizePubSessionContext使用dumpFile空指標導致崩潰的問題
  • [test] unit test for base.DumpFile

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

▦ 開發者

感謝參與這個版本的開源貢獻者:yoko, ZSC714725, joaop, sanenchen, yang heng01~, penglh, LiH0820

▦ 進一步瞭解lal

微信掃碼加我好友(進微信群):

wechat

本文完,祝你今天開心。

yoko, 202304

相關文章