對于大部分海量視頻平臺和需要持續交付視頻服務的平臺而言,采取視頻自動化測試是唯一可行的選擇。在WebRTCon 2018期間,英特爾Intel? Collaboration Suite for WebRTC (面向WebRTC 的英特爾? 協同通信開發套件)客戶端測試架構負責人張琰彬接受了LiveVideoStack的采訪,詳細闡述了視頻視頻質量自動化測試的難點及應對方案。
LiveVideoStack:琰彬你好,音視頻服務交付涉及很多環節,從音視頻采集、處理、傳輸、服務器處理,再通過網絡分發出去并在客戶端上顯示,這么長的鏈條如何自動化的分析和定位問題呢?難點分別有哪些?
張琰彬:我們要自動化首先要保證的就是測試結果的可重復性,從第一個點音視頻采集來說,我們采取了固定視頻代替隨機視頻的方式來確保視頻的固定,這個中間又出現了第二個問題就是怎么定位視頻幀,我們需要定位發送和接收視頻幀才能計算出精確的延時。此外,比如說現在通常用到的有參考評估相關視頻質量標準PSNR、SSIM、VMAF都依賴發送接收視頻序列定位等問題。
問題中說的處理傳輸和服務器處理,分發到客戶端這個幾個點,這其實是一個完整的音視頻傳輸通道的實現,我們做評估系統的話一定是建立在現有的音視頻傳輸通道上的,所以我們如何建立現有傳輸通道的兼容模塊,如何兼容現有傳輸通道但是又不能影響現有通道的性能是我們第三個要考慮的問題。
第四個問題是網絡模擬,因為我們通常說的各種視頻問題,可能出現問題的有幾個地方,一是發送方的處理,視頻采集和有損編碼,二是服務器處理模塊,特別是視頻會議模式,服務器可能會對視頻做編解碼、轉碼、混流等。三是發送接收方中間的網絡狀態,我們需要建立一個精確的網絡模擬模型,包括各種網絡參數,比如丟包和各種丟包方式,比如說隨機丟包,固定丟包,突發丟包等等。除此之外還有延時、抖動等都有各種精細分類,再就是如何精確的復現客戶實際網絡,比如不同時段的4G網絡狀態。
上述這些問題解決之后,我們還需要解決的難點和重點就是視頻自動評估,評估標準和評估方法的選擇,我們需要選擇哪些評估方法,有視頻幀相關的,有參考評估,無參考評估,還有描述當前場景的網絡因子,比如說端對端延時、實際傳輸帶寬、視頻抖動等,以便于提供足夠多的場景復現和結果量化數據。
LiveVideoStack:視頻質量評估分主觀測試和客觀測試,實現持續的自動化測試恐怕只能采用客觀測試的方法吧?
張琰彬:是的,要做全自動化,就意味著任何數據必須具備可重復性、量化的特點,這里我們可以先講解一下主觀測試和客觀測試。關于視頻質量評估本身,業界通常將評估方法分為兩種類別,一個叫做主觀評估,一種叫做客觀評估。
主觀評估,顧名思義就是人參與的人工評估,視頻主觀質量評價就是選擇一批非專家類型的受測者,讓他們參加一些培訓,至少是閱讀一些評估規范和標準比如說ITU-R BT.500 等,然后在一個特定的受控環境中,連續觀看一系列的測試序列大約10至30分鐘,然后采用不同方法讓他們對視頻序列的質量進行評分,最后求得平均意見分(Mean Opinion Score,MOS),并對所得數據進行分析。測試環境中的受控因素包括:觀看距離、觀測環境、測試序列的選擇、序列的顯示時間間隔等。
客觀評估通過一些評估標準來量化視頻質量,主要也分為兩類,一類是有參考評估,另一類是無參考評估。有參考評估就是依賴原始視頻和待評測視頻進行對比,目前比較熟知的就是PSNR、SSIM、VIF、VMAF、PEVQ 等。無參考評估,在判斷視頻質量時不需要來自原始參考視頻的任何信息,通過對失真視頻空域和頻域的處理分析來提取失真視頻的特征,或者基于視頻像素的質量模型等來得到視頻質量。這種評估標準適合與線上無原始參考視頻序列的無線和IP視頻業務,或者輸入和輸出差異化的模型,比如說視頻增強,視頻合并等場景。
整體來看 客觀和主觀視頻評估各有優缺點。對于主觀評估,雖然可以直觀反應人對視頻的觀感,但是需要專業培訓的人員進行評估;而且隨機選取人員會導致主觀差異;時間和人力成本高;重復性低;數據缺乏參考性,很難做到精確計算延時,幀抖動等。對于客觀評估來說,可以數據量化,參考性高,可重復操作,可以精確計算時延,抖動測試,并進行自動化集成和監控等。所以說如果要做全自動化測試,必須采取客觀評估。
LiveVideoStack:測試平臺如何獲得客戶端的視頻客觀質量數據的?
張琰彬:是這樣的, 如果聽了演講的同學應該就很清楚,我會介紹我們的自動化測試框架架構,這就是我們說的與原有視頻通道兼容模塊的任務,我們單舉一個有參考視頻質量評估信息來說,在發送的客戶端我們需要保存發送幀視頻信息,比如說每一幀定位信息,幀本身視頻信息,發送時間戳信息等。在接收方,我們同樣需要保存接收視頻幀信息,每一幀的定位信息以便于發送和接收幀定位,幀本身視頻信息,接收時間戳信息等。除此之外,我們要存儲的還有網絡因子,WebRTC 狀態因子等,配合視頻信息來計算視頻幀抖動、幀率、端對端延時等。這些信息并不是保存在客戶端本身的,而是通過額外的信令通道實時傳輸到我們質量服務器端進行數據存儲,這樣在不影響本身視頻通道性能的同時,也便于分析模塊計算各種對比性能參數信息。
LiveVideoStack:在保證服務的可用性、用戶觀看體驗的同時,是否能夠通過測試服務來優化服務成本?比如在維持可用性和用戶主觀體驗的同時,通過使用P2P CDN,優化的編碼策略或新的Codec來降低成本?
張琰彬:測試服務核心的就是為了產品服務,無論你是在做實時視頻通信的這樣一個產品還是SDK 的提供方,我們常常會遇到各種視頻問題,對于測試來說,我們要思考怎么來發現這些問題,如何重現這些問題,如何自動來復現,如何量化這些問題。那么對于整個團隊,包括研發和設計來說,拿到這些問題就可以思考出現這些問題怎么辦,怎么來優化我們的產品,因為在實際產品實際中,在有限的資源比如帶寬條件下,我們是應該現考慮清晰度還是先考慮流暢度,不同的場景,不同的公司產品策略都可能給出不同的解決辦法,但是核心的一點就是我們需要這樣一個自動視頻評估體系,有足夠多的場景復現和結果量化數據,才能給出合理的設計標準。
比如使用我們的自動化測試框架,我們曾經評估過不同的Codec 之間,各種傳輸帶寬帶來的最終視頻質量性能對比,各種編碼在消耗多少帶寬的時候他們的視頻質量是均衡的,產品設計就可以針對不同的Codec 設置不同的標準帶寬。對于產品新增加的Codec, 在最后上線之前,我們也會做對比測試,對比現有的Codec 策略,各種參數是否有新的性能突破,帶寬優化等等。我們還可以幫助產品找到精確的最大或者最小閾值,比如說720p 的視頻在提供最少帶寬的時候就能夠達到足夠好的視頻體驗,那么就可以幫用戶節省沒有必要的增大帶寬的設置。
-
英特爾
+關注
關注
61文章
9953瀏覽量
171700 -
自動化測試
+關注
關注
0文章
208瀏覽量
26905 -
音視頻技術
+關注
關注
0文章
50瀏覽量
11853
原文標題:張琰彬:聊聊視頻質量自動化測試
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論