ApsaraVideo for VOD可使用視訊截圖,支援通過提前設定截圖模板進行視頻截圖,您可通過控制台和API系統管理範本。本文為您介紹視頻截圖、截圖類型、使用說明、截圖模板和截圖參數,以及如何管理截圖模板。
簡介
視頻截圖,是指在指定視頻特定的位置進行映像截取,並產生圖片檔案。為了提高易用性,ApsaraVideo for VOD提供了截圖模板,使用者可先將相關參數配置成截圖模板,在發起截取任務時指定截圖模板ID即可。
純音頻且無任何映像資訊流的媒體檔案、源檔案損壞或源檔案封裝資訊異常,則可能無法產生截圖檔案。
截圖的過程是完全非同步,發出截圖請求後,在介面返回結果時,任務可能還在排隊中,並沒有完成。可以通過接收視頻截圖完成事件訊息擷取截圖結果。
截圖耗時與檔案的大小、時間長度以及截圖採用的框架類型有關。
截圖產生的檔案目錄不支援自訂。
截圖類型
封面截圖(CoverSnapshot)
ApsaraVideo for VOD對每一個視頻源片都會進行截圖,該類截圖為封面截圖,預設按照視頻主要畫面格平均截取最多8張圖片,且截圖時間點是從視頻的第5ms開始。封面截圖可在ApsaraVideo for VOD控制台視頻管理詳情頁查看,可選擇其中任意一張作為視頻封面。
如果視頻的主要畫面格數量不夠8個,截圖數將不足8張。
如果視頻沒有設定封面,則預設會使用封面截圖的中間一張設定為視頻封面。
普通截圖(NormalSnapshot)
通過API對指定視頻截取一定數量的圖片,可設定開始截圖的時間點、截圖的總數、截圖的時間間隔以及截取的圖片寬高等。如果對視頻通過API重複發起截圖,ApsaraVideo for VOD只會記錄最新的截圖資料。更多資訊,請參見提交媒體截圖作業。
雪碧截圖(SpriteSnapshot)
所謂雪碧圖是指先進行普通截圖,然後將普通截圖按照一定的排列規則拼成一張大圖,而這張大圖即為雪碧圖,而此時的普通截圖又稱組成雪碧圖的原始圖。截取雪碧圖的優勢在於可降低圖片的請求數量,從而可以通過請求雪碧圖一次擷取多張截圖的資訊,加強了用戶端的效能。
例如:按照10行、10列規則對普通圖進行排列,則一張雪碧圖中的小圖理論數目為10×10 =100張,由於受限於普通截圖的實際張數,雪碧圖中小圖數目可能不夠100張,而如果超過100張則會再次產生第二張雪碧圖,以此類推。如下圖示意:
說明上圖樣本中,普通截圖總數為50,按照10×3排列。第一張雪碧圖中小圖數為30,則第二張雪碧圖中小圖數為20。
雪碧圖原始圖(SpriteOriginSnapshot)
雪碧圖原始圖,即用來拼接雪碧圖的普通截圖,對於這些原始截圖,可以選擇刪除或者保留,如果保留可以通過查詢截圖資料介面擷取。更多資訊,請參見查詢截圖資料。
WebVTT截圖
WebVTT截圖即根據所有截圖資訊產生VTT的檔案,截圖的基本資料(截圖時間、截圖地址)會記錄到VTT檔案中,在使用縮圖時需要先擷取VTT的內容,解析截圖的資訊進行展示,可用於播放器進度條縮圖展示。
WebVTT截圖儲存方式
截圖單張儲存
所有截圖分開儲存,VTT內容記錄單張截圖的相對位置資訊、截圖時間,VTT內容如下圖所示:
截圖拼接儲存
所有截圖的圖片會先拼接成一張大圖統一儲存,訪問具體圖片時需要從VTT內容中解析到圖片的位置,VTT內容如下圖所示:
使用說明
管理截圖模板
截圖涉及到的參數相對較多,如果將諸多截圖參數都統一在提交截圖任務時傳入,不僅加大了截圖功能接入門檻,更降低了易用性。因此ApsaraVideo for VOD提供了截圖模板,使用者可先將相關參數配置成截圖模板,在發起截取任務時指定截圖模板ID即可。
ApsaraVideo for VOD支援控制台和API的方式管理截圖模板。
通過控制台管理
通過點播控制台可以進行截圖模板的添加、修改及刪除操作。
通過API管理
通過介面進行管理,更多資訊,請參見截圖模板。
截圖參數
普通截圖配置
說明本節只介紹普通截圖配置的部分參數使用細節,更多參數資訊,請參見普通截圖配置SnapshotConfig。
API參數
控制台參數
描述
FrameType
框架類型
截圖截取的框架類型包括:主要畫面格(intra)、普通幀(normal)。
在同等截圖規則條件下,一般主要畫面格截圖比普通幀截圖速度要快。
SpecifiedOffsetTime
開始時間
截圖開始的時間點。正整數類型,單位:毫秒。
如果是單幀截圖,則
SpecifiedOffsetTime
為截圖的時間點。Count
截圖總數
截圖總數。
Interval
截圖間隔
截取多張截圖時,截圖之間的時間間隔。
Count>1:表示按照間隔時間截取到指定的Count數。
Count>1,Interval = 0:表示在視頻時間長度範圍內按照Count值截圖,如果FrameType=intra,主要畫面格數小於Count數,則截圖實際總數<Count。
Count=1:截取單幀截圖。
Width
截圖寬
截圖的寬。單位:像素,取值範圍:[8,4096]。
說明Width、Height說明:
不設定寬和高,截圖寬高與輸入視頻寬高相同。
如果只設定寬或者高,則沒有設定的一邊按照輸入視頻的畫面比例進行縮放,維持圖片不變形。
Height
截圖高
截圖的高。單位:像素,取值範圍:[8,4096]。
WebVTT截圖配置
除了普通截圖需要配置的參數外,還需要配置
Format
和SubOut
。API參數
控制台參數
描述
Format
檔案格式
該參數說明截圖需要將截圖索引資訊產生到VTT檔案當中。
說明僅WebVTT截圖需要設定該參數,且取值為:VTT。
SubOut
僅WebVTT截圖需要設定該參數。
樣本:
{ "IsSptFrag":"true" }
IsSptFrag:控制產生VTT檔案時,截圖圖片的產生方式。false表示圖片單張分開儲存,true表示將圖片拼接成大圖儲存。
雪碧截圖配置
說明本節內容只對雪碧圖的部分參數使用細節進行說明。更多資訊,請參見雪碧圖配置SpriteSnapshotConfig。
API參數
控制台參數
描述
CellWidth
小圖寬
雪碧圖中的小圖寬和高設定參數,如果都不設定則小圖寬高為普通截圖的寬高,如果只設定其中一個,則另一邊按照比例縮放。
CellHeight
小圖高
KeepCellPic
是否刪除原始圖
是否保留構成雪碧圖的原始圖,即截圖的普通截圖。取值:delete(刪除,即不保留)、keep(保留)。
說明對於雪碧圖截取,如無特殊需求,建議不保留構成雪碧圖的原始圖。
Color
雪碧圖背景色
產生雪碧圖的背景顏色。更多資訊,請參見顏色設定參數說明。
說明暫不支援RGB參數值。
雪碧圖參數示意如下: