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