Azure AI 影片索引器自備 (BYO) AI 模型概觀
本文概述 Azure AI 影片索引器自備 AI 模型。
簡介
您可以結合來自其他來源的深入解析,包括第三方、分類和偵測模型,以產生媒體數據的詳細分析。 您可以使用Microsoft、外部自定義模型或 Azure 影片索引器所提供的自定義人員、品牌、語音或語言模型所提供的一或多個模型。
此功能也適用於 Arc 所啟用的 VI。
免責聲明:Microsoft 的 Azure OpenAI 服務 行為規範適用於您使用「攜帶您自己的模型」功能,其中包括Microsoft停止存取權,並使用此功能不符合規範。
定價
透過影片索引器 BYO 模型,用戶可以將自定義深入解析新增至影片深入解析物件,而不會產生任何超出編製索引程式所列成本的額外成本。 不過,任何與外部環境和模型相關的成本都不應視為影片索引器計費價格的一部分。 強烈建議您檢閱最佳做法一節,以優化外部邏輯並降低成本。
一般工作流程
- 影片會透過 Azure AI 影片索引器上傳並編製索引。
- 當索引編製程式完成時,就會建立事件。
- 您的自定義程式代碼會接聽事件,並啟動影片後置處理程式。
- 取得影片索引器擷取的深入解析。
- 取得影片區段的主要畫面格。
- 將主要畫面格傳送至自定義 AI 模型。
- 將自定義深入解析修補回影片索引器。
必要條件
您必須先:
- 定型或引進可接收影片資產並傳回見解的外部 AI 模型。
- 建立自訂程式代碼,以:
- 接聽事件中樞事件。
video id
從事件擷取 。- 藉由呼叫 VI API 來擷取相關資產。 在此案例中,要求 取得影片索引 和 取得畫面 SAS URL。
- 將資產傳送至外部 AI 模型。
- 根據從自定義 AI 模型擷取的深入解析,建立 JSON 物件。
- 要求 修補程式更新影片索引。
結構描述
填入自訂資料的值如下所示:
名稱 | 說明 | 必要 |
---|---|---|
name | 外部 AI 模型名稱 | true |
displayName | 要顯示在影片索引器中的深入解析組名 | true |
displayType | 定義這個特定深入解析群組的UI表示類型。 默認值:膠囊 可能的類型: 膠囊 – 僅限一層文字 CapsuleAndTags -未來只會新增兩層文字。 |
false |
結果 | 對象陣列,代表外部 AI 模型偵測到的見解 | true |
results.id | 使用者提供的結果對象識別碼,在結果範圍內應該是唯一的 | true |
results.type | 此欄位代表外部 AI 模型分類的深入解析類型。 它用來代表一般深入解析類別,這表示在特定框架中可識別此類型的多個深入解析。 深入解析類型的範例包括:「籃球」、「人群拍打」、「白襯衫」。。 | true |
results.subType | 此欄位代表外部 AI 模型分類的深入解析類型。 它用來代表特定的深入解析類別,這表示在特定框架中只能識別此類型的單一深入解析。 深入解析類型的範例包括:「籃球 #23」、“John clapping”、“Dana 的白襯衫”。 | false |
results.metaData | 深入解析的更多數據 | false |
results.instances | 陣列,表示偵測到深入解析的時間範圍。 | true |
results.instances.confidence | 使用從外部模型傳回的信賴分數進行設定 | false |
results.instances.start | 影片中實例的開始時間。 格式:hh.mm.ss.ff |
false |
results.instances.end | 影片中實例的結束時間。 格式:hh.mm.ss.ff |
false |
results.instances.adjustedStart | 在UI中顯示時,使用 Start 的值進行設定 | false |
results.instances.adjustedEnd | 在UI中顯示時,使用End的值進行設定 | false |
幀速率
Azure AI 影片索引器支援一個 FPS,適用於基本/標準視訊層級,四個 FPS 用於進階層級。 不支援較高的幀速率。 您可以透過:
- 只處理感興趣的特定區段,例如包含偵測到的聲音、對象或人員,或
- 例如,每隔 5 秒取樣一次較低的 FPS。
框架選取
您可以使用略過框架和頁面大小參數進行時間選取。 公式是略過畫面值乘以 FPS 加上頁面大小值乘以 FPS,可用來判斷時間範圍。
URL:https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]
參數:
名稱 | 說明 | 必要 |
---|---|---|
videoId | 影片的標識碼 | true |
urlsLifetimeSeconds | 以秒為單位的 URL 存留期 | true |
pageSize | 傳回每個呼叫的最大畫面格數目 | false |
skip | 要略過的框架 | false |
accessToken | 應該在 URL 查詢字串或授權標頭中指定為參數做為持有人令牌。 存取令牌範圍應該是 [帳戶],而許可權應該是 [讀取者]。 | true |
回應: FrameFilePathsResult
名稱 | 說明 | 必要 |
---|---|---|
結果 | FrameUriData 清單 | False |
NextPage | 分頁數據 (skip, pageSize, isDone) | False |
FrameFilePathData
名稱 | 說明 |
---|---|
name | 框架檔的名稱 |
frameIndex | 框架的索引 |
StartTime | 影片中畫面的開始時間 |
EndTime | 影片中畫面的結束時間 |
filePath | 雲端環境中框架的Sas URI,或邊緣環境中的檔案路徑 |
以架構格式從自定義應用程式傳送的範例數據
"customInsights": [
{
"Name": "tattoo",
"displayName": "Tattoo’s model",
"displayType": "CapsuleAndTag",
"Results": [
{
"id": 1,
"Type": "Dragon",
"WikiDataId": "57F",
"SubType": "Leg tattoo",
"Metadata": "",
"Instances": [
{
"Confidence": 0.49,
"AdjustedStart": "0:00:32.72",
"AdjustedEnd": "0:00:42.72",
"start": "0:00:32.72",
"end": "0:00:42.72",
}
]
}
]
}...