天天看點

開發網絡視訊直播系統過程中的那些關鍵點

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

1.DRM管理器

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

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

2.格式轉換複用器

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

3.資源品質參數預估器

這裡提到的預估器主要是提供帶寬、CPU和幀率等資訊,它可以從各種不同的次元擷取資料,比如跳幀數和片段下載下傳時間。并且可以将資料彙總起來用于估算使用者的可用帶寬值和CPU計算能力,輸出時采用ABR做出判斷。

4.ABR 切換控制器

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

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

原文首發位址:https://blog.csdn.net/fmscms/article/details/88551292

繼續閱讀