LFLiveKit框架的介紹

LFLiveKit的背景什么的就不一一介紹了送挑,這里主要介紹它的功能實現(xiàn)的基礎架構如下表:

LFLiveSession 是整個sdk核心暖眼,提供對外部的主要接口。其主要功能有:管理推流開關诫肠,管理音視頻錄制及渲染,管理錄制渲染后的音視頻編嗎挤安,管理編嗎后的數(shù)據(jù)上傳丧鸯,管理音視頻的基礎配置,回調推流狀態(tài)和異常上報等丛肢。
LFLiveAudioConfiguration 音頻配置,配置相關音頻信息(音頻質量穆刻,碼率杠步,采樣率,聲道數(shù))
LFLiveVideoConfiguration 視頻配置幽歼,配置相關音頻基本信息(視頻質量,碼率猪勇,幀數(shù)颠蕴,分辨率)和應用配置如最大最小幀率等。
LFVideoCapture 視頻管理類犀被,管理視頻的輸入和輸出。同時處理業(yè)務需求如:美顏掀泳,亮度,水印等效果员舵。用了一個第三方:GPUIImage處理渲染效果
LFAudioCapture 音頻管理,管理音頻的輸入開關庄拇。這一塊兒沒有多大的定制韭邓,應用的原生的API即可。LFH264VideoEncoder,LFHardwareVideoEncoder 視頻編碼類女淑,分別對應8.0以前和8.0以后的兩種設備的視頻編碼類。都遵守LFVideoEncoding協(xié)議屈张,并設置LFStreamSocketDelegate協(xié)議給session管理
LFHardwareAudioEncoder 音頻編碼類苇本,遵守LFVideoEncoding協(xié)議菜拓,并設置LFStreamSocketDelegate協(xié)議給session管理
LFFrame 數(shù)據(jù)信息的基類,作為上傳到服務器數(shù)據(jù)的基本模型
LFVideoFrame 視頻信息纳鼎,作為上傳到服務器視頻數(shù)據(jù)的模型
LFAudioFrame 音頻信息,作為上傳到服務器音頻數(shù)據(jù)的模型
LFLiveStreamInfo 推流信息:推流地址(目前主要應用rtmp推流)劝贸;流狀態(tài);音視頻配置信息映九;異常信息
LFStreamRTMPSocket 數(shù)據(jù)上傳管理類:開關數(shù)據(jù)上傳瞎颗,回調連接狀態(tài)和異常。遵循LFStreamSocket協(xié)議哼拔,并設置LFStreamSocketDelegate給session管理
LFLiveDebug 調試信息:這個是開發(fā)時候的內部表示,主要用于記錄調試作用譬正。
LFStreamingBuffer 本地采樣:通過本地采樣監(jiān)控緩沖區(qū),可實現(xiàn)相關切換幀率碼率等策略

其主要功能流程如下:

1.其中:LFLiveSession是整個sdk對外主要提供的接口粉怕,除了對外提供業(yè)務需求接口您单,而且管理了整個推流過程的不同功能的實現(xiàn),并添加了一系列的回調接口虐秦。

2.通過LFLiveAudioConfiguration,LFLiveVideoConfiguration這兩個配置信息作為一個參數(shù)蜈彼,給各個類傳值基本碼率等基本信息。

3.LFVideoCapture幸逆,LFAudioCapture作為LFLiveSession的一個屬性暮现,可以管理視頻類的輸入的輸入設備和輸出設備,并且通過GPUIImage來進行一些圖片的濾鏡的操作栖袋,然后輸出,通過代理方法回調給LFLiveSession昔案。

4.LFH264VideoEncoder,LFHardwareVideoEncoder电媳,LFHardwareAudioEncoder是管理音視頻編嗎的類。LFLiveSession接受到經過濾鏡處理后的回調后匾乓,通過音視頻編碼類對buffer進行編碼,并且在編碼結束以后通過代理方法回調給LFLiveSession娱局。

5.LFStreamRTMPSocket是數(shù)據(jù)上傳管理類(目前只用rtmp上傳),在LFLiveSession接收到編嗎結束的回調后珍促,就可以用LFStreamRTMPSocket進行數(shù)據(jù)上傳。并提供網絡狀態(tài)回調和網絡異持硇穑回調仁卷。

6.LFStreamingBuffer相對就比較靈活了锦积,其功能呢主要是提供了一套根據(jù)本地緩沖區(qū)在規(guī)定時間內的量來回調緩沖區(qū)buffer是在增加還是在減少。如果需要在這方面進行一定的優(yōu)化可以在回調中實現(xiàn)切換幀率等方法丰介。在LFLiveKit里面是沒有具體實現(xiàn)這種策略的后續(xù)處理方法鉴分,只是回調了增加還是減少的狀態(tài)。

缺點:每一個buffer數(shù)據(jù)上傳后志珍,沒有回調上傳的結果瓤的。如果可以這樣的話,可以根據(jù)上傳的結果來判斷推流端的具體網絡狀況沧烈。自身邏輯可以添加切換線路或者降低碼率來實現(xiàn)直播質量的優(yōu)化喂击。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末翰绊,一起剝皮案震驚了整個濱河市办铡,隨后出現(xiàn)的幾起案子琳要,更是在濱河造成了極大的恐慌,老刑警劉巖稚补,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異厦坛,居然都是意外死亡乍惊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門撬碟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人呢蛤,你說我怎么就攤上這事∑湔希” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵蜈敢,是天一觀的道長汽抚。 經常有香客問我,道長殊橙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任叠纹,我火速辦了婚禮敞葛,結果婚禮上,老公的妹妹穿的比我還像新娘惹谐。我一直安慰自己,他們只是感情好鸿秆,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布怎囚。 她就那樣靜靜地躺著,像睡著了一般恳守。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沥阱,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天伊群,我揣著相機與錄音屁使,去河邊找鬼奔则。 笑死,一個胖子當著我的面吹牛易茬,可吹牛的內容都是我干的。 我是一名探鬼主播抽莱,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼食铐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了虐呻?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤偶惠,失蹤者是張志新(化名)和其女友劉穎朗涩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谢床,經...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年出革,在試婚紗的時候發(fā)現(xiàn)自己被綠了覆履。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片费薄。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖伟众,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情凳厢,我是刑警寧澤账胧,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布治泥,位于F島的核電站遮精,受9級特大地震影響,放射性物質發(fā)生泄漏本冲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一狸膏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧湾戳,春花似錦、人聲如沸院塞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糜颠。三九已至,卻和暖如春其兴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背元旬。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留坑资,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓袱贮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親攒巍。 傳聞我的和親對象是個殘疾皇子嗽仪,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內容