Azure AI 影片索引器自備 (BYO) AI 模型 (預覽) 概觀

本文概述 Azure AI 影片索引器自備 AI 模型。

簡介

Azure AI 影片索引器提供一組針對可套用至許多內容類型的視訊和音訊內容優化的 AIS。 您可以將 Microsoft 來源、自定義來源或第三方來源的更多深入解析與內建的 Azure AI 影片索引器深入解析結合在一起,以順暢的體驗。

這項功能具有彈性,足以容納所有形式和類型的深入解析,包括偵測導向和分類導向的 AI。 您可以自由地選取外部模型運作的數據,例如影片的畫面、整個視訊,或只是音訊播放軌。您也可以使用已針對影片產生的其他深入解析,例如偵測到的物件、臉部和標籤。 這可讓您只對影片的相關區段執行外部分析,以改善效能並降低成本。

此功能適用於雲端和邊緣使用案例。

免責聲明:Microsoft 的 Azure OpenAI 服務 行為規範適用於您使用「攜帶您自己的模型」功能,其中包括 Microsoft 停止存取權,並使用此功能以不符合規範。

定價

透過影片索引器 BYO 模型,用戶可以將自定義深入解析新增至影片深入解析物件,而不會產生任何超出編製索引程式所列成本的額外成本。 不過,任何與外部環境和模型相關的成本都不應視為影片索引器計費價格的一部分。 強烈建議您檢閱最佳做法一節,以優化外部邏輯並降低成本。

一般工作流程

  1. 影片會透過 Azure AI 影片索引器上傳並編製索引。
  2. 當索引編製程式完成時,就會建立事件。
  3. 您的自定義程式代碼會接聽事件,並啟動影片後置處理程式。
    1. 取得影片索引器擷取的深入解析。
    2. 取得影片區段的主要畫面格。
    3. 將主要畫面格傳送至自定義 AI 模型。
    4. 將自定義深入解析修補回影片索引器。

上述工作流程的圖表

必要條件

您必須先:

  1. 定型或引進可接收影片資產並傳回見解的外部 AI 模型。
  2. 建立自訂程式代碼,以:
    1. 接聽事件中樞事件。
    2. video id從事件擷取 。
    3. 藉由呼叫 VI API 來擷取相關資產。 在此案例中,要求 取得影片索引取得畫面 SAS URL
    4. 將資產傳送至外部 AI 模型。
    5. 根據從自定義 AI 模型擷取的深入解析,建立 JSON 物件。
    6. 要求 修補程式更新影片索引

結構描述

填入自訂資料的值如下所示:

名稱 說明 必要
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",
                    }
                ]
            }
        ]
    }... 

使用 Azure AI 影片索引器 API