保利威文档中心

幫助中心

統計影片觀看時長的相關方式說明

更新時間:2026-05-25 18:03:40

不少教育類場景都有統計觀眾的影片觀看時長的需求,以此來判斷是否完成了課程,能否觸發下一步動作(例如觀看下一階段的課程),或者單純統計並在前台顯示觀眾的觀看時長以及觀看影片數量。

整體來看統計觀看時長有兩種方案,一種是透過服務端 API 來取得統計數據,另一種是藉助前端播放器提供的介面,由業務方自行統計。兩種方案的優劣及適用場景見下表:

統計方式 前端統計 服務端 API 取得
時效性 即時 非即時。由於服務端需要處理整個平台的播放數據,因此會有一定延遲。
數據準確性 準確 有輕微誤差。因網路、鏈路等影響,前端上報的播放數據有可能會發送失敗,所以服務端回傳的觀看時長無法保證絕對準確。
開發成本 較高,業務方需藉助播放器的相關介面,自行在前端計算觀看時長等數據並上報業務後台。 低,只需呼叫對應的 API 來取得統計結果。
適用場景 對統計即時性要求高的業務場景 對統計即時性要求不高的業務場景

前端統計方式介紹

Web 播放器(包括 PC H5、Flash、行動端 H5 播放器)

在 Web 頁面播放影片時,可藉助播放器提供的相關介面、事件並結合自身業務規則來統計所需的數據,並上報自己的業務系統。

介面:

  • j2s_getCurrentTime() //取得目前播放的時間點,例如影片播放到第 20 秒時回傳:20。
  • j2s_realPlayVideoTime() //取得正片播放時間,不包括廣告、片頭、暫停、片尾等時間,影片播放過程中該值會累加。

事件:

  • s2j_onPlayStart // 播放器成功載入影片檔案並緩衝完成後,即將開始播放時觸發。
  • s2j_onPlayOver // 播放結束後觸發。

其它的播放器屬性、介面和事件詳見屬性和介面說明

註:j2s_realPlayVideoTime 取得的是播放的自然時間時長,例如當使用 2 倍速播放到影片的第 60 秒時: player.j2s_getCurrentTime() = 60 player.j2s_realPlayVideoTime() = 30

行動端 SDK(Android SDK、iOS SDK)

在 APP 中播放影片時,可使用保利威點播 SDK 提供的相關介面、事件並結合自身業務規則來統計所需的數據,並上報自己的業務系統。

iOS SDK:

  • @property (nonatomic, assign, readonly) NSTimeInterval viewerWatchDuration // 使用者觀看時間,假如用 2 倍速播放到影片的第 60 秒,該方法回傳 30。
  • @property (nonatomic, assign, readonly) NSTimeInterval videoContentPlayedTime //影片內容播放的時間,假如用 2 倍速播放到影片的第 60 秒,該方法回傳 60。

Android SDK:

  • getWatchTimeDuration() // 使用者觀看時間,假如用 2 倍速播放到影片的第 60 秒,該方法回傳 30。

  • getVideoContentPlayedTime() // 影片內容播放時間,假如用 2 倍速播放到影片的第 60 秒,該方法回傳 60。

SDK 也都有播放開始、完成、出錯等事件回呼,其它的播放器屬性、介面和事件詳見 Github 文件:iOS,Android

服務端 API 取得方式介紹

透過觀看日誌:

透過影片完成度介面:

介面文件:取得影片觀看完成度介面)

該介面可查看某一觀眾累計觀看某一影片的完成度情況。無論觀眾使用哪種終端、分多少次觀看,介面回傳的是最終的彙總完成度。

例如,影片 A 時長為 50 分鐘,觀眾使用 PC H5 觀看了第 020 分鐘,使用手機 H5 觀看了第 1030 分鐘,又使用 APP 觀看了第 4050 分鐘,累計觀看時長為 20+20+10=50 分鐘,但觀看的影片內容是 030 和 40~50 的部分。雖然累計觀看時長與影片時長相同,但完成度為 (30+10)/50=80%。

透過影片進階分析來統計:

功能說明文件:進階分析功能說明

介面文件:進階分析-分頁查詢觀看行為列表

註:

  • 透過觀看日誌介面取得的數據在正常情況下的延遲為 10 分鐘。
  • 後台匯出 excel 表中的開始時間,是數據儲存的時間,並不等同於影片開始播放的時間。
  • 影片觀看完成度在服務端每隔 1 小時計算一次,也就是有最大 1 小時的延遲。
  • 進階分析每天統計一次,也就是有最大 24 小時的延遲。
  • 完成度介面和進階分析中的完成度是基於影片正常速度來計算的,假如用 2 倍速完整觀看一個影片,完成度會計算為 50%。
联系客服,在线咨询