直播系統開發過程中的一些關鍵點

bluetooth發表於2021-09-09

之前一段時間,“Syno Japan與媒體Carts合作在日本國內發起了“電競相關認知/消費調查”,調查表示整個18年是日本的電子競技元年,也是日本國內逐漸認知電競的一年。”由此可見,電競在日本僅僅處於起步階段,而對於中國和韓國等地來說早已成為了大眾的“生活必需品”,尤其是在直播系統帶動下的遊戲電競直播,更是受到人們的廣泛關注。實際上,大多數人並不瞭解直播系統開發時需要怎樣的技術支援。所以,就跟大家簡單地分享一下相關內容。

1.DRM管理器

對於大部分直播系統來講,都會有一個區域:付費房間,而直播中的付費影片服務都基於DRM管理。

DRM其實很大程度上是依賴於平臺和裝置的。多媒體引擎中的DRM管理器,是更底層解碼器中內容解密API的包裝。只要有可能,它就會盡量透過抽象的方式來遮蔽瀏覽器,或者作業系統實現細節的差異性。DRM管理器(可選元件)一般都會和流處理引擎緊密相連,主要原因是DRM管理器經常與解碼層進行互動。

2.格式轉換複用器

其實直播系統在進行封包和編碼方面都存在一定的侷限性,比如Flash讀的是FLV容器封裝的H.264檔案。這種情況就容易導致有些影片片段在解碼之前需要進行格式轉化。這樣一來,就能夠使用相應格式的內容來播放影片流。而多媒體引擎層面的格式轉換複用器曾經受到過質疑,但是隨著現代Flash和Javascript效能的提升,所帶來的效能損耗幾乎可以忽略不計,並且也不會對使用者體驗造成太大影響。

3.資源質量引數預估器

這裡提到的預估器主要是提供頻寬、CPU和幀率等資訊,它可以從各種不同的維度獲取資料,比如跳幀數和片段下載時間。並且可以將資料彙總起來用於估算使用者的可用頻寬值和CPU計算能力,輸出時採用ABR做出判斷。

4.ABR切換控制器

為什麼要把ABR(切換控制器)放到最後再說呢,因為它是多媒體引擎中最為關鍵的部分,也是最容易被人忽視的一部分。控制器在讀取預估器輸出的頻寬和跳幀數等資料之後,使用自定義演算法根據這些資料做出相應的判斷。從而告知流播放引擎是否需要切換影片或者是音訊的質量。目前遇到的最大難點就是切換頻率和在緩衝風險之間找到平衡,比如太頻繁的切換可能會導致使用者擁有一個糟糕的直播體驗。

對於直播系統而言,頻寬、跳幀數、延時和卡頓等問題都是影響使用者體驗非常重要的指標。要想在網際網路領域獲得長久發展,就要從開發過程中去避免和解決影響使用者體驗的問題,只有這樣才能真正的適應使用者需求,從而建立起優質的直播系統。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3402/viewspace-2824822/,如需轉載,請註明出處,否則將追究法律責任。

相關文章