Vinc3nt's Life

透過 mux data 分析優化串流

2024-04-06
develop
streaming
mux-data
optimization
research
最後更新:2025-01-26
5分鐘
977字

研究

Overall Viewer Experience

此指標可以代表 QoE (Quality of Experience)。 他的下面可以細分為:Startup, Smoothness, Quality。 這是他的公式:

default

下面介紹這三個指標。

Startup Time

Startup Time 是使用者嘗試播放影片,到使用者看到第一幀影片所花的時間。

default

需要重點關注 Video Startup Time 指標。

Smoothness

Smoothness 分數基於 rebuffer 發生的次數和時間。

default

Rebuffer Countrebuffer 發生的次數。

Rebuffer Percentage 代表 rebuffer 時間佔據完整觀看時間(Watching Video + Rebuffering Time)的比例。

Video Quality

Video Quality 是透過比較影片和播放器的解析度,衡量出來的指標。如果影片解析度低於播放器解析度,為了填滿播放器,影片會被放大,如果這個放大比例很明顯,會嚴重影響到使用者體驗。

default

從公式可以得知,Average Upscale Percentage 對於這個指標的影響最大;短時間的 Upscale Percentage 提升,對於整體體驗影響有限,因此著重提升整體 Upscale Percentage 會是調整的重點。

分析

這裡採用不具名的資料集作為展示,並且資料透過其他服務進行再收集,因此 UI 風格與 mux data 會有差別。

下面分析 Overall Score 底下各項指標的狀況。

default Overall Scores

Startup Time

default Startup Time Scores

對此聚合分數有影響的指標是 Video Startup Time

除了 Android 對各項 OS 來說,這個數值都很平均:

default Video Startup Scores

default

雖然其他作業系統雖也有高有低,但 Android 的起伏更大,Startup time 通常也位居一二。

細看 Mux views 事件,可以發現其所有事件的 Startup Time 都有較高的數值,同樣使用 MCDN 的其他 OS,這項指標也相對較低。


Chrome mobileChrome 的 Mux 資料比較:

default Chrome Mobile

default Chrome

可以看到 Chrome Mobile 會提前開始 viewstart,在這之後才進行 seek,但實際上兩者的使用者體驗是一致的。

Smoothness

default Smoothness Scores

對此聚合分數有影響的指標是 Rebuffer CountRebuffer Percentage

Rebuffer Count 的平均表現一般:

default Rebuffer Count

從時間軸來看,Android 裝置的 Rebuffer Count 不穩定:

default

我們來看 Rebuffer Percentage

default Rebuffer Percentage

除了 iOS 外,其他 OS 都有一定程度的 Rebuffer Percentage,推測是 CDN 造成的影響。

再來看看時間軸折線圖:

default

Windows 有個非常糟糕的數據,但只有一筆因此被當作離群值。 可以看到除了 iOS ,其他 OS 的 rebuffer 都有一定起伏, 加強了 CDN 會影響 rebuffer 的表現的猜測。

Android 的 Rebuffer Percentage 特別的高,在 Mux views 細看後,發現 Android 使用者常常進行一個操作:

  • 手機播放影片
  • 手機關閉螢幕
  • 播放器暫停
  • 手機解鎖螢幕
  • 播放器恢復播放
  • buffer 播完,重新取得的 m3u8 找不到當前 ts 以定位 latency
  • 為了追上直播進度,執行 rebuffer 播放 target latency

default

這樣的操作既增加了 Rebuffer Count,也因為播放器暫停和額外 Rebuffer ,讓 Rebuffer Percentage 增加。

Video Quality

default Video Quality Scores

對此聚合分數有影響的指標是 Upscale Percentage

default Upscale Percentage

因為收集數據的頁面有做 RWD ,這份數據合乎預期:

default Desktop Device

default Mobile Device

同樣的頁面,手機端播放的 Player 解析度低,在分數計算上有絕對優勢。 建議告知使用者合理的選擇 Player 尺寸,可顯著提高指標表現。

結論

肯定的現象

  • 手機端的 Video Quality 表現較好,因為 Player 尺寸普遍較小。

推測的現象

  • 使用 MCDN 的 Smoothness 表現較差。
  • Android 裝置在 Smoothness 的分數應該與其他同用 MCDN 的使用者差異不大,Rebuffer Percentage 高的原因推測是螢幕開關導致裝置暫停而後恢復播放。
  • Android 裝置的 Startup Time 的分數較高,推測是移動平台的 Chrome 處理 video play 事件與桌機平台的 Chrome 行為不同導致的。
本文標題:透過 mux data 分析優化串流
文章作者:Vincent Lin
發布時間:2024-04-06