研究
Overall Viewer Experience
此指標可以代表 QoE (Quality of Experience)。 他的下面可以細分為:Startup, Smoothness, Quality。 這是他的公式:
下面介紹這三個指標。
Startup Time
Startup Time 是使用者嘗試播放影片,到使用者看到第一幀影片所花的時間。
需要重點關注 Video Startup Time 指標。
Smoothness
Smoothness 分數基於 rebuffer 發生的次數和時間。
Rebuffer Count 是 rebuffer 發生的次數。
Rebuffer Percentage 代表 rebuffer 時間佔據完整觀看時間(Watching Video + Rebuffering Time)的比例。
Video Quality
Video Quality 是透過比較影片和播放器的解析度,衡量出來的指標。如果影片解析度低於播放器解析度,為了填滿播放器,影片會被放大,如果這個放大比例很明顯,會嚴重影響到使用者體驗。
從公式可以得知,Average Upscale Percentage 對於這個指標的影響最大;短時間的 Upscale Percentage 提升,對於整體體驗影響有限,因此著重提升整體 Upscale Percentage 會是調整的重點。
分析
這裡採用不具名的資料集作為展示,並且資料透過其他服務進行再收集,因此 UI 風格與 mux data 會有差別。
下面分析 Overall Score 底下各項指標的狀況。
Overall Scores
Startup Time
Startup Time Scores
對此聚合分數有影響的指標是 Video Startup Time。
除了 Android 對各項 OS 來說,這個數值都很平均:
Video Startup Scores
雖然其他作業系統雖也有高有低,但 Android 的起伏更大,Startup time 通常也位居一二。
細看 Mux views 事件,可以發現其所有事件的 Startup Time 都有較高的數值,同樣使用 MCDN 的其他 OS,這項指標也相對較低。
將 Chrome mobile 和 Chrome 的 Mux 資料比較:
Chrome Mobile
Chrome
可以看到 Chrome Mobile 會提前開始 viewstart,在這之後才進行 seek,但實際上兩者的使用者體驗是一致的。
Smoothness
Smoothness Scores
對此聚合分數有影響的指標是 Rebuffer Count 和 Rebuffer Percentage。
Rebuffer Count 的平均表現一般:
Rebuffer Count
從時間軸來看,Android 裝置的 Rebuffer Count 不穩定:
我們來看 Rebuffer Percentage。
Rebuffer Percentage
除了 iOS 外,其他 OS 都有一定程度的 Rebuffer Percentage,推測是 CDN 造成的影響。
再來看看時間軸折線圖:
Windows 有個非常糟糕的數據,但只有一筆因此被當作離群值。 可以看到除了 iOS ,其他 OS 的 rebuffer 都有一定起伏, 加強了 CDN 會影響 rebuffer 的表現的猜測。
Android 的 Rebuffer Percentage 特別的高,在 Mux views 細看後,發現 Android 使用者常常進行一個操作:
- 手機播放影片
- 手機關閉螢幕
- 播放器暫停
- 手機解鎖螢幕
- 播放器恢復播放
- buffer 播完,重新取得的 m3u8 找不到當前 ts 以定位 latency
- 為了追上直播進度,執行 rebuffer 播放 target latency
這樣的操作既增加了 Rebuffer Count,也因為播放器暫停和額外 Rebuffer ,讓 Rebuffer Percentage 增加。
Video Quality
Video Quality Scores
對此聚合分數有影響的指標是 Upscale Percentage。
Upscale Percentage
因為收集數據的頁面有做 RWD ,這份數據合乎預期:
Desktop Device
Mobile Device
同樣的頁面,手機端播放的 Player 解析度低,在分數計算上有絕對優勢。 建議告知使用者合理的選擇 Player 尺寸,可顯著提高指標表現。
結論
肯定的現象
- 手機端的 Video Quality 表現較好,因為 Player 尺寸普遍較小。
推測的現象
- 使用 MCDN 的 Smoothness 表現較差。
- Android 裝置在 Smoothness 的分數應該與其他同用 MCDN 的使用者差異不大,Rebuffer Percentage 高的原因推測是螢幕開關導致裝置暫停而後恢復播放。
- Android 裝置的 Startup Time 的分數較高,推測是移動平台的 Chrome 處理 video play 事件與桌機平台的 Chrome 行為不同導致的。