如何構建一個服務質量(QoS)流媒體視頻分析解決方案服務
2020年5月6日 在工程的博客
點擊以下鏈接查看和下載QoS筆記本在本文下麵討論。
內容
流媒體視頻服務質量的重要性
隨著傳統付費電視繼續停滯不前內容所有者接受直接麵向消費者(D2C)訂閱和廣告支持流媒體庫的內容貨幣化。公司的整個業務模式圍繞生產的內容,然後授權分銷商,轉向現在擁有整個glass-to-glass經驗要求供應鏈構建媒體等新功能內容交付給消費者,為各種各樣的設備支持應用程序和操作係統,並執行客戶關係計費和客戶服務等功能。
與大多數vMVPD(虛擬多通道視頻編程經銷商)和SVOD(視頻點播)服務每月更新,訂閱服務運營商需要證明他們的價值用戶每個月/周/日(觀眾留下AVOD障礙(廣告視頻點播)甚至更低——隻是打開一個不同的應用程序或通道)。一般的視頻質量問題(包括緩衝、延遲、像素、抖動、包損失,和空白屏幕)有顯著的業務影響,無論是增加用戶流失或減少視頻訂婚。
當你開始流你意識到有很多地方休息可以和觀眾體驗會發生,無論是一個問題在雲中的服務器on-prem或來源;在運輸過程中在CDN水平或ISP層麵或觀眾的家庭網絡;或在播出級別球員/客戶問題。在n x 10什麼優惠4並發飄帶在n x 10不同的優惠5或n x 106。沒有預發布測試,可以完全複製真實的用戶和他們的能力推動即使最冗餘係統斷裂點瀏覽電視頻道,點擊的應用,同時從不同的設備上的標誌,等等。因為電視的本質,在最重要的事情會出錯,高調的事件畫最大的觀眾。如果你開始收到投訴在社交媒體上,你怎麼能告訴如果他們是唯一的一個用戶或者區域或國家的問題?如果國家,它是所有設備或隻有某些類型(例如,可能OEM更新舊設備上的操作係統類型與客戶最終導致兼容性問題)?
>識別、醫治和預防觀眾體驗質量問題成為一個大數據問題當你考慮用戶的數量,他們正在采取行動,和傳遞的數量的經驗(服務器CDN ISP家庭網絡客戶端)。服務質量(QoS)幫助理解這些數據流,所以你可以理解是錯誤的,在哪裏,為什麼。最終你可以進入預測分析在哪些方麵可能出現問題,如何調整它在任何減免。
磚QoS解決方案概況
這個解決方案的目的是提供流媒體視頻的核心平台,想改善他們的QoS係統。Beplay体育安卓版本它是基於AWS流媒體分析的解決方案AWS提供的實驗室,我們然後之上添加磚作為一個統一的數據分析平台,實時的見解和先進的分析功能。Beplay体育安卓版本
通過使用磚,流媒體平台可以Beplay体育安卓版本得到更快的見解利用總是最完整和最近的數據集的健壯和可靠的數據管道,減少投放市場的時間加速數據科學使用新特性的一個協作環境支持端到端機器學習管理生命周期,beplay娱乐ios減少運營成本在所有的軟件開發周期有一個統一的數據平台工程和科學數據。Beplay体育安卓版本
視頻QoS解決方案架構
與低延遲等複雜性監視警報和高度可伸縮的基礎設施所需的視頻交通的高峰時間,簡單的建築選擇是三角洲體係結構——標準大數據架構λ和Kappa架構有缺點在操作力氣就能保持多種類型的管道(流和批處理)和缺乏支持統一的數據工程&數據科學方法。
三角洲體係結構是下一代範式,使所有類型的數據角色在你的組織更有效率:
- 數據工程師可以開發數據管道以成本有效的方式不斷無需選擇批處理和流
- 數據分析師可以得到接近實時的見解和更快的回答他們的BI查詢
- 數據科學家可以開發更好的機器學習模型使用更可靠的數據集和支持時間旅行,促進了可再生的實驗和報告
圖1三角洲體係結構使用數據管道的“種”的方法
寫數據管道使用三角洲體係結構遵循最佳實踐的多層“種”的方法,我們逐步添加數據結構:“青銅”表或攝入表通常是原始數據集的原生格式(JSON、CSV或txt),“銀”表代表清潔/轉換數據集準備報告或數據科學與“黃金”表最後的表示層。
純流使用情況下,出現在中間三角洲Dataframes表的選擇基本上是隻是一個延遲/ sla和成本之間的權衡(一個例子是實時監測預警與更新的推薦係統基於新內容)。
圖2流體係結構仍然可以實現在顯現dataframes三角洲表
這種方法中“跳”的數量是直接影響下遊的消費者數量,聚合的複雜性(如結構化流執行某些限製在鏈接多個聚合)和運營效率的最大化。
周圍的QoS解決方案體係結構主要是數據處理的最佳實踐,而不是一個完整的視頻點播(視頻點播)解決方案-一些標準的組件(比如“前門”服務Amazon API網關從高級體係結構,以避免保持專注於數據和分析。
圖3 QoS平台的高級體係結構Beplay体育安卓版本
讓你的數據分析做好準備
來源的數據包括在QoS解決方案(應用程序事件日誌和CDN)是使用JSON格式的數據交換——允許你代表複雜的嵌套結構,但不是可伸縮且難以維護作為數據的存儲格式湖/分析係統。
為了使數據直接可查詢整個組織,銅銀管道(“讓每個人都能看到你的數據”管道)應將任何原始格式轉換為三角洲和包括所有所需的質量檢查或數據屏蔽任何監管機構。
視頻應用程序事件
基於體係結構中,視頻應用程序事件直接推動運動流,然後隻攝取到三角洲附加表沒有任何更改模式。
圖4原始格式的應用程序事件
使用這種模式允許大量的消費者下遊過程中的數據流模式無需動作流的吞吐量。作為使用增量表的副作用水槽(支持優化),我們不需要擔心的方式處理窗口的大小將影響文件的數量在你的目標表,稱為“小文件”問題在大數據世界。
時間戳和類型的消息被從JSON中提取事件為了能夠分區數據,允許消費者選擇他們想要的類型的事件過程。再結合單個動作的事件流與三角洲“事件”表減少了操作的複雜性而使事情更容易擴展高峰時段。
圖5的所有細節從JSON中提取銀表
CDN日誌
CDN日誌送到S3,所以最簡單的方法處理它們是磚自動加載程序,逐步和有效的流程為到達的新數據文件在S3中沒有任何額外的設置。
auto_loader_df = spark.readStream。格式(“cloudFiles”)\.option (“cloudFiles.format”,“json”)\.option (“cloudFiles.region”,地區)\.load (input_location)anonymized_df = auto_loader_df.select (‘*’ip_anonymizer (“requestip”).alias (“知識產權”))\.drop (“requestip”)\.withColumn (“起源”,map_ip_to_location(坳(“知識產權”)))
anonymized_df。writeStream \.option (“checkpointLocation”checkpoint_location) \。格式(“δ”)\.table (silver_database +“.cdn_logs”)
日誌包含ip——考慮下個人資料GDPR規定——“讓每個人都能看到你的數據管道必須包括一個匿名化的步驟。可以使用不同的技術,但我們決定隻帶過去的八隅體從IPv4和IPv6的最後80位。之上,周圍的數據集也富含信息來源國家和ISP提供者將使用後的網絡操作中心的本地化。
創建儀表板/虛擬網絡操作中心
流媒體公司需要監控網絡性能和用戶體驗盡可能接近實時追蹤到個人層麵細分級別的抽象的能力,很容易定義等新領域定義的真命天子,設備、網絡、和/或當前和曆史瀏覽行為。流公司采用的概念,這意味著網絡操作中心(NOC)從電信網絡監控的健康流體驗他們的用戶在宏觀層麵上,標記和回應任何問題。最基本的,國有石油公司應該儀表板,比較當前的用戶體驗和性能基線,以便產品團隊可以快速、輕鬆地識別和處理任何服務異常。
在QoS解決方案我們已經注冊一個磚儀表板。BI工具也可以毫不費力地連接為了構建更複雜的可視化效果,但是根據客戶反饋,內置的儀表板是大部分時間最快的方式呈現業務用戶的見解。
NoC的聚合表將主要是三角洲的黃金層架構- CDN的組合和應用程序事件日誌。
圖7的例子網絡運營中心儀表板
儀表板是一種視覺化的包SQL查詢的結果或Python / R變換——每個筆記本支持多個儀表盤的多個終端用戶不同的需求我們不需要重複的代碼——作為獎金刷新也可以預定一個磚的工作。
圖7顯示一個SQL查詢的結果
第一幀視頻加載時間(時間)可以更好地了解你個人的位置CDN性能——在這種情況下,AWS CloudFront邊緣節點——在你的策略直接影響了改善這種KPI——通過傳播的用戶流量multi-CDNs或者隻是實現一個動態來源選擇的AWS CloudFront使用(電子郵件保護)
未能理解的原因高水平的緩衝,它帶來的糟糕的視頻質量體驗——有一個對用戶流失率產生重大影響。最重要的是,廣告商不願意把錢花在廣告負責減少觀眾參與——因為他們添加額外的緩衝,所以廣告業務上的利潤通常也有影響。在這種背景下,收集盡可能多的信息從應用程序是至關重要的,允許視頻層次的分析不僅要做但也瀏覽器甚至類型/版本的應用程序。
在內容方麵,事件的應用程序可以提供有用的信息對用戶行為和整體質量的經驗。有多少人,暫停視頻已經看完了一集/視頻嗎?是停止的原因有內容或交付的質量問題?當然進一步的分析可以通過鏈接一起來源(cdn的用戶行為、性能/ isp)不僅創建一個用戶配置文件還預測生產。
創建(附近)實時警報
在處理速度、體積和各種數據生成的視頻從數以百萬計的並發用戶,儀表板複雜性可以使操作員在NOC更難專注於最重要的數據和零在根源問題。這個解決方案,您可以輕鬆地設置自動警報當性能跨越某些閾值,可以幫助人類的運營商網絡以及引發自動補救協議通過Lambda函數。例如:
- 如果一個CDN有延遲遠高於基線(例如,如果它是超過10%的延遲和基線平均),啟動自動CDN流量變化。
- 如果超過某個閾值如5%)的客戶報告播放錯誤,提醒產品團隊,有可能客戶問題為一個特定的設備。
- 如果觀眾對某ISP有高於平均水平緩衝和像素問題,提醒一線客戶代表反應和方法來減少問題(例如,設置流質量低)。
從技術角度來看生成實時警報需要流引擎能夠實時處理數據和發布-訂閱推送通知服務。
Fig.8集成microservices使用亞馬遜SNS和Amazon SQS
QoS解決方案實現集成microservices AWS的最佳實踐通過使用亞馬遜SNS及其集成與亞馬遜λ(參見下麵的更新web應用程序)或Amazon SQS為其他消費者。的自定義foreach作家選擇使管道發送電子郵件通知的寫作基於基於規則引擎(e。g驗證錯誤的百分比為每個類型的應用程序在一段時間內)很簡單。
defsend_error_notification(行):sns_client = boto3.client (“社交”、地區)error_message =“應用程序錯誤的數量已經超過了閾值{}”。格式(行“比例”])
響應= sns_client.publish (TopicArn = < TopicArn >,消息= error_message,主題= <消息>,MessageStructure =“字符串”)#結構化流媒體工作getKinesisStream (“player_events”)\.selectExpr (“類型”,“app_type”)\.groupBy (“app_type”)\蘋果(calculate_error_percentage) \其中(“比例> {}”。格式(閾值))\.writeStream \.foreach send_error_notification \.start ()< /消息> < / topicarn >
使用AWS SNS Fig.9發送電子郵件通知
在基本的電子郵件使用情況下,演示的球員包括三個小部件使用AWS AppSync實時更新:活躍用戶數量,最受歡迎的視頻,並發用戶數量看視頻。
Fig.10更新應用程序實時聚合的結果
QoS的解決方案是使用類似的方法——結構化流和亞馬遜SNS更新所有的值允許插入額外的消費者使用AWS SQS -一種常見模式,當大量的事件必須增強和分析——pre-aggregate數據一次,允許每個服務(消費者)下遊做出自己的決定。
下一個步驟:機器學習
手工製作的曆史數據很重要,但也非常慢,如果我們希望能夠自動決定未來,我們必須將機器學習算法。
作為一個統一的數據分析平台,磚授權數據科學家建立更好的數Beplay体育安卓版本據科學產品的使用功能,如毫升運行時的內置支持Hyperopt/Horvod/AutoML機器學習或與MLFlow集成,端到端生命周期管理工具。
我們已經研究了幾個重要的用例在我們的客戶基礎雖然關注可能對QoS的擴展的解決方案。beplay体育app下载地址
故障點預測和補救
作為D2C飄帶達到更多的用戶,即使瞬間失去服務的成本增加。毫升可以幫助運營商從報告通過預測問題可以預防上來醫治之前出現任何問題(例如,一個cdn並發觀眾激增導致切換到一個更有能力的自動)。
客戶流失
增長的關鍵是讓用戶訂閱服務。通過理解服務質量在個體層麵,您可以添加QoS作為一個變量在生產和客戶生命周期價值模型。此外,您可以創建客戶群體對於那些有視頻質量問題為了測試積極的消息傳遞和保存提供了。
開始使用磚視頻流的QoS解決方案
提供一致的質量流媒體視頻經驗表中的股份在這一點上繼續變化無常的觀眾與充足的娛樂選擇呆在你的平台上。Beplay体育安卓版本這個解決方案我們試圖創建一個快速啟動的大多數視頻平台環境中嵌入這QoS實時流分析解決方案的方式:Beplay体育安卓版本
- 擴展到任何觀眾的大小
- 快速標記質量性能問題的關鍵部分分配工作流
- 足夠靈活和模塊化等輕鬆地定製你的聽眾和你需要創建新的自動警報或使數據科學家測試和轉出預測分析和機器學習。
首先,下載的筆記本磚視頻流的QoS解決方案。更多的指導如何統一批處理和流數據到一個單獨的係統,查看三角洲體係結構網絡研討會。