大規模使用 Azure AI Video Indexer 時應考慮的事項
使用 Azure AI Video Indexer 編製影片索引,且影片的封存不斷成長時,請考慮縮放。
本文可解答下列問題:
- 我需要考慮任何技術限制嗎?
- 有沒有智慧又有效率的作業方法呢?
- 如何防止在過程中花費過多金錢?
本文提供六個最佳做法,說明如何大規模使用 Azure AI Video Indexer。
上傳影片時,請考慮透過位元組陣列使用 URL
Azure AI 影片索引器可讓您選擇從 URL 上傳影片,或藉由將檔案傳送為位元組陣列,後者隨附一些限制。
首先,檔案大小有限制。 相較於使用 URL 時的 30 GB 上傳大小限制,位元組陣列檔案的大小限制為 2 GB。
其次,只考慮會影響效能的一些問題,讓您能夠縮放:
- 使用多部分傳送檔案表示有很高的網路相依性、
- 服務可靠性、
- 連線能力、
- 上傳速度、
- 全球資訊網某處有遺失的封包。
使用 URL 上傳影片時,您只需要提供媒體檔案位置的路徑,Video Indexer 就會負責處理其他工作 (請參閱上傳影片 API 中的 [videoUrl
] 欄位)。
提示
使用上傳影片 API 的 videoUrl
選擇性參數。 此外,您可以使用 AzCopy 以快速且可靠的方式,將內容提交至記憶體帳戶,以便使用 SAS URL 將內容提交至 Azure AI 影片索引器。 Azure AI Video Indexer 建議使用「唯讀」 SAS URL。
遵守節流
Azure AI 影片索引器是針對大規模編製索引而建置的,當您想要充分利用索引時,您也應該了解系統的功能,並據此設計整合。 您不會想傳送了一批影片的上傳要求,僅為得知有些電影未上傳,卻因此收到 HTTP 429 回應碼 (太多要求)。 API 要求限制為每秒 10 個要求,每分鐘最多 120 個要求。
Azure AI 影片索引器會在 HTTP 回應中新增 retry-after
標頭,標頭會指定何時應嘗試下一次重試。 嘗試下一個要求時請務必遵守此規定。
使用回撥 URL
不建議在傳送上傳要求之後持續輪詢要求的狀態,您可以新增回撥 URL,然後等待 Azure AI Video Indexer 回報最新情況。 只要上傳要求中有任何狀態變更,您就會收到指定之 URL 的 POST 通知。
您可以將回撥 URL 新增為上傳影片 API 的參數之一。 請參閱 GitHub 存放庫中的程式碼範例。
您也可以針對回撥 URL 使用 Azure Functions (這是可由 HTTP 觸發的無伺服器事件驅動平台),並實作下列流程。
回撥 URL 定義
回撥 URL 用來通知客戶 (透過 POST 要求) 下列事件:
索引狀態變更:
屬性:
名稱 描述 id 影片識別碼 state 影片狀態 範例: https://test.com/notifyme?projectName=MyProject&id=1234abcd&state=Processed
在影片中識別到的人員:
屬性
名稱 描述 id 影片識別碼 faceId 影片索引中出現的臉部識別碼 knownPersonId 臉部模型中唯一的個人識別碼 personName 人員名稱 範例: https://test.com/notifyme?projectName=MyProject&id=1234abcd&faceid=12&knownPersonId=CCA84350-89B7-4262-861C-3CAC796542A5&personName=Inigo_Montoya
為您使用正確的索引參數
決定是否大規模使用 Azure AI Video Indexer 時,請了解如何使用符合您需求的正確參數來充分利用此功能。 請思考您的使用案例,藉由定義不同的參數以節省成本,並加快影片索引編製過程的速度。 例如,如果不打算觀看影片,請不要將預設設為串流;如果只需要音訊見解,請不要編製影片見解索引。
以最佳解析度而非最高解析度編製索引
您可能會問,編製影片索引需要怎樣的影片品質?
在許多情況下,HD (720P) 影片和 4K 影片的索引編製效能幾乎沒有任何差異。 最後都會獲得同樣可信之幾乎相同的見解。 上傳的影片品質愈高,表示檔案的大小愈大,而這會導致上傳影片需要更高的計算能力和更長的時間。
例如,使用臉部偵測功能時,較高的解析度有助於處理有許多細小但對內容很重要的臉部的案例。 不過,這會使得執行階段呈二次方增加,並提高誤判風險。
因此,建議您驗證使用案例是否得到正確結果,並先在本機進行測試。 分別以 720P 和 4K 上傳相同的影片,比較您取得的見解。