使用 Pandora 平台玩轉直播實時質量監控

2021-09-11 11:43:04 字數 3380 閱讀 8689

結合七牛雲生態,賦能應用大資料的核心能力,讓使用者可將資源精力聚焦於直播業務價值提公升,而無需擔憂複雜的大資料技術和運維監控難題。

然而,在實際的客戶對接及服務過程中,各式各樣的問題仍然不可避免,如直播卡頓、馬賽克、花屏、黑屏、雜音、音畫不同步等等。這些問題中,有些是傳輸鏈路原因,有些是使用者的使用姿勢引起,有些是引數配置錯誤所致,也有些是直播 sdk 本身的問題。很多情況下,如果沒有足夠的資料線索進行支撐,應對線上使用者反饋的這類問題,直播平台開發者經常兩眼一抹黑,定位問題基本只能靠猜。通常情況下,在直播客戶沒有建立自己的直播質量監控系統時,七牛雲的專業技術服務團隊是客戶排障的第一選擇。針對絕大部分常見的問題,七牛雲技術支援能夠快速提供排查建議,如幫助查詢某路直播流的實時狀態,判斷主播推流的穩定性。

但是,由於七牛雲直播技術支援並沒有直接接觸到各個直播客戶的終端使用者,在問題排查過程中難免存在資訊不對稱的情況,增大溝通的時間成本。特別是當直播客戶線上問題集中爆發時,如果直播平台的開發者沒有乙個系統的途徑能夠進行自查,勢必使得該直播平台的使用者體驗陡然下降。那麼,建立乙個直播質量監控系統需要有哪些投入呢?以下我們為您詳細解析。

通常來說,如果要建立一套自己的直播質量監控體系,一般要完成以下幾個步驟:

2. 建立乙個收點的閘道器,如果資料量太大,還需要 kafka 等佇列做資料快取;

3. 搭建 hdfs 、 elasticsearch 等儲存服務,將接收的 qos 資料轉存到這些儲存系統;

4. 搭建一套實時/離線資料流分析服務;

5. 資料視覺化展示、告警系統。

複製**

實現以上功能,不僅需要有乙個資深大資料背景的技術團隊和客戶端團隊的支撐以及漫長的開發周期,系統上線後仍需持續投入精力持續維護迭代,以應對諸如逐步上公升的資料量;若是對平台的橫向擴充套件能力沒考慮周全,眾多開源元件崩盤的風險很可能會讓之前的投入白費。

那麼,有沒有一種不需要自己造輪子的途徑,去實現絕大部分質量監控功能?如今,我們給出了肯定的回答!借助於七牛大資料平台 pandora,以及七牛直播雲 sdk 所整合的 qos 質量上報模組,七牛直播雲使用者能夠快速打造一套屬於自己的實時直播質量監控系統,並實現各種維度的自定義分析能力。

七牛大資料平台 pandora 是一套面向海量資料,能夠讓基礎技術人員輕鬆管理大資料傳輸、計算、儲存和分析的大資料 paas 平台,提供簡單、高效、開放的一站式大資料服務,核心服務及功能包括大資料工作流引擎、時序資料庫、日誌檢索服務、spark 服務、報表工作室。同時提供了海量離線資料分析等眾多大資料分析工具支援,並結合七牛雲生態,賦能應用大資料的核心能力,讓使用者可將資源精力聚焦於業務價值提公升而無需擔憂複雜的大資料技術和部署運維難題。

直播質量 (qos)實時上報模組幾乎是每個高品質直播 sdk 的必要組成部分,它對於提公升直播 sdk 效能以及直播網路的節點排程策略、鏈路質量具有重要作用。七牛雲直播 sdk 的 qos 模組使我們可以對終端使用者連線的節點進行實時監控,了解其推流失敗次數、卡頓次數以及卡頓時長。通過推流效能的實時監控和服務端實時排程系統的結合,可以實現對推流使用者線路和節點的調整。

至此,您已經可以:

1. 在 grafana 中觀察到精細到每個流的質量變化曲線;

2. 通過 pandora 日誌服務 logdb 所提供的強大日誌檢索功能,快速回溯追蹤每個流或某個使用者裝置的資料。

複製**

地區運營商平均推流質量曲線,可快速了解某地區、某運營商的總體推流狀況

推流加速節點的平均質量曲線,用於幫助判斷是否由於推流節點的負載變化導致直播質量的變化

需要指出的是,這些內建場景只是 qos 資料的一小部分應用,您可以根據需求拓展或增加 grafana 的 dashboard,關注您想要的質量維度。

事實上,直播質量日誌在被視覺化呈現之前,會被先匯入到 pandora logdb 日誌檢索服務中。您可登入七牛官方**,在日誌檢索模組中進行直播質量日誌搜尋。並且 logdb 無縫相容 elasticsearch 協議,您也可使用我們為您提供的 kibana 應用玩轉日誌檢索。通過質量日誌搜尋,您可以進行各種直播問題的查詢,如根據某個裝置 id 進行單使用者的日誌回溯,進行使用者級別的直播排障。

那麼,這些視覺化圖表及日誌搜尋該如何派上實際用場呢?下面我們就以乙個常見的直播排障場景來說明這些資料在定位問題中能夠給到直播廠商的幫助,使直播平台的技術人員能夠自助快速排障。

假設某個主播向直播平台反饋直播卡頓,那麼,直播平台的技術人員首先獲取到該主播的流 id,然後在 grafana 的流狀態dashboard 中,過濾出這個流,發現其推流曲線如下:

為了回答上面的猜測,直播技術客服利用日誌檢索服務進行更進一步的問題追蹤,那便是在 logdb 中搜尋推流 id,回溯主播的推流行為。

更進一步地,如果全部情況都表明主播的網路質量良好,操作正常,那麼可以觀察該直播流所連線節點的情況。若該節點其他的流也存在類似的波動,那麼證明節點的負載過重,可為這些直播流進行推流節點的排程以優化推流質量。

以上,通過簡單的幾步查詢,直播平台便能自助針對單個使用者的問題進行定位排查,極大縮短了線上問題的解決週期,提公升平台使用者體驗。

那麼,開通了基於 pandora 大資料平台的直播質量監控之後,您的客戶端質量資料又是如何被實時處理並呈現在您的面前呢?以下便為您揭曉個中奧秘。

直播 qos 資料被客戶端上報後會進入收點服務的訊息佇列(kafka)中,利用乙個內部資料採集服務,我們從訊息佇列中根據推流域名實時過濾並拉取不同客戶的 qos 資料,**到對應賬號的 pandora 大資料工作流中。

事實上,pandora 本身提供了乙個強大的通用資料採集工具,它適用於各類日誌資料收集場景,比如:[10分鐘內快速構建能夠承載海量資料的 nginx 日誌分析與報警平台]

在 logkit 將您直播 qos 資料上報至 pandora 時,會自動建立如下乙個大資料工作流,目前是將 qos 資料直接匯出至下游的 logdb 日誌檢索服務。pandora 還提供了其他多種匯出選擇,如匯出到七牛物件儲存,可將全量日誌進行持久化;也可將日誌**到您自己的 http 服務,使直播質量資料在您自己的服務框架中派上用場。

利用大資料工作流引擎,您可以利用上報到資料來源中的 qos 資料進行更多維度的自定義分析,只需在實時工作流中新建 transform 計算任務,便能對上報的資料進行進一步的聚合處理,匯出更多維度的資料。 例如,我們甚至可以利用 qos 資料進行活躍使用者數這類簡單的運營統計分析,只需新建如下乙個計算任務,加之簡單的一段 sql **,便能計算出各個省份每五分鐘內安卓活躍使用者的數量。計算結果可選擇匯出到 logdb、時序資料庫、七牛物件儲存或是您本地架設的 http 服務,即將 pandora 的直播質量分析結果回流到您的平台進行落地。

除了利用實時工作流進行分析外,您還可建立離線的 xspark,分析更多更久的海量資料,詳見 「xspark 使用入門」

如果您已經是七牛直播雲的使用者,那麼只需聯絡七牛 pandora 團隊申請開通,審核通過之後,我們將為您提供乙個開箱即用的直播質量資料監控應用。

直播平台搭建

相信很多小夥伴在日常開發中,都有遇到開發直播的需求,是不是感覺無從下手,如果你剛好看到這篇部落格,那麼你真的來對地方,本篇文章將詳細的講解,如果手把手的搭建直播平台,最終效果為手機或者電腦端實時抓取攝像頭資料實現推流,服務端拉流。一 概念理解 要做乙個這樣的直播平台,首先要理解概念,就是資料怎麼傳輸...

直播平台常見直播禮物介紹

直播平台之所以備受廣泛關注,同時能夠吸引大量的使用者流量,很大程度上受益於它獨有的禮物打賞機制。而直播平台中的禮物系統也是平台和主播的重要收益 在實際的直播平台製作過程中,直播平台製作中的禮物形式,主要有以下兩種 1.普通禮物 適用於所有普通使用者充值打賞使用 2.高階禮物 多為動態特效禮物,常見格...

搭建教育直播平台

直播熱的同時也帶動了遠端教育直播的火熱。教育領域搭載上直播技術騰飛的順風車,可以說讓眾多中小機構以及個人老師等都想要從中找到發展的機會。對於不太了解直播技術的教育領域的專家們就需要一套快速上手,搭建步驟簡單的直播軟體。網路遠端教育直播 技術主要涉及三方面 1.採集直播畫面。突出特點支援新增logo ...