Aspetti da considerare quando si usa Video Indexer di Azure per intelligenza artificiale su larga scala
Quando si usa Video Indexer per intelligenza artificiale di Azure per indicizzare i video e l'archivio di video è in continua crescita, prendere in considerazione la scalabilità.
Questo articolo risponde a domande come:
- Ci sono vincoli tecnologici da tenere in considerazione?
- C'è un modo intelligente ed efficiente di farlo?
- Posso impedire la spesa in eccesso nel processo?
L'articolo offre sei procedure consigliate per l'uso di Video Indexer di Intelligenza artificiale di Azure su larga scala.
Quando si caricano video è consigliabile usare un URL su matrice di byte
Video Indexer di Azure per intelligenza artificiale offre la possibilità di caricare video da un URL o direttamente inviando il file come matrice di byte, quest'ultimo include alcuni vincoli.
In primo luogo, presenta limitazioni per le dimensioni dei file. Le dimensioni del file array di byte sono limitate a 2 GB rispetto alla limitazione delle dimensioni di caricamento di 30 GB durante l'uso dell'URL.
In secondo luogo, considerare solo alcuni dei problemi che possono influire sulle prestazioni e quindi la possibilità di ridimensionare:
- L'invio di file tramite più parti significa una dipendenza elevata dalla rete,
- affidabilità del servizio,
- Connettività
- velocità di caricamento,
- pacchetti persi da qualche parte nel mondo wide web.
Quando si caricano video usando l'URL, è sufficiente fornire un percorso alla posizione di un file multimediale e Video Indexer si occupa del resto (vedere il videoUrl
campo nell'API di caricamento video ).
Suggerimento
Usare il videoUrl
parametro facoltativo dell'API di caricamento video. È anche possibile usare AzCopy per un modo rapido e affidabile per ottenere il contenuto in un account di archiviazione da cui è possibile inviarlo ad Azure AI Video Indexer usando l'URL di firma di accesso condiviso. Video Indexer di Intelligenza artificiale di Azure consiglia di usare GLI URL di firma di accesso condiviso di sola lettura .
Rispettare la limitazione
Video Indexer di Azure per intelligenza artificiale è progettato per gestire l'indicizzazione su larga scala e quando si vuole sfruttare al meglio anche le funzionalità del sistema e progettare di conseguenza l'integrazione. Non si vuole inviare una richiesta di caricamento per un batch di video solo per scoprire che alcuni dei film non sono stati caricati e si riceve un codice di risposta HTTP 429 (troppe richieste). Esiste un limite di richieste API di 10 richieste al secondo e fino a 120 richieste al minuto.
Azure AI Video Indexer aggiunge un'intestazione retry-after
nella risposta HTTP, l'intestazione specifica quando tentare di riprovare. Assicurarsi di rispettarlo prima di provare la richiesta successiva.
Usare l'URL di callback
È consigliabile, invece di eseguire il polling dello stato della richiesta costantemente dalla seconda richiesta di caricamento inviata, è possibile aggiungere un URL di callback e attendere l'aggiornamento di Video Indexer di Azure AI. Non appena si verifica una modifica dello stato nella richiesta di caricamento, si riceve una notifica POST all'URL specificato.
È possibile aggiungere un URL di callback come uno dei parametri dell'API di caricamento video. Vedere gli esempi di codice nel repository GitHub.
Per l'URL di callback è anche possibile usare Funzioni di Azure, una piattaforma basata su eventi serverless che può essere attivata da HTTP e implementare un flusso seguente.
Definizione dell'URL callBack
Un URL di callback viene usato per notificare al cliente (tramite una richiesta POST) gli eventi seguenti:
Modifica stato indicizzazione:
Proprietà:
Nome Descrizione id The video ID state Lo stato del video Esempio: https://test.com/notifyme?projectName=MyProject& id=1234abcd&state=Processed
Persona identificata nel video:
Proprietà
Nome Descrizione id The video ID faceId L'ID viso che appare nell'indice video knownPersonId L'ID utente univoco all'interno di un modello di viso personName Il nome della persona Esempio: https://test.com/notifyme?projectName=MyProject& id=1234abcd&faceid=12&knownPersonId=CCA84350-89B7-4262-861C-3CAC796542A5&personName=Inigo_Montoya
Usare i parametri di indicizzazione corretti
Quando si prende decisioni relative all'uso di Azure AI Video Indexer su larga scala, vedere come sfruttare al meglio i parametri corretti per le proprie esigenze. Si pensi al caso d'uso, definendo diversi parametri che è possibile risparmiare denaro e rendere più veloce il processo di indicizzazione per i video. Ad esempio, non impostare il set di impostazioni per lo streaming se non si prevede di guardare il video, non indicizzare informazioni dettagliate video se sono necessarie solo informazioni dettagliate audio.
Indice in risoluzione ottimale, non con risoluzione più elevata
Potresti chiedere, quale qualità video hai bisogno per indicizzare i tuoi video?
In molti casi, le prestazioni di indicizzazione non hanno quasi alcuna differenza tra video HD (720P) e video 4K. Alla fine, si otterranno quasi le stesse informazioni con la stessa attendibilità. Maggiore è la qualità del filmato caricato significa aumentare le dimensioni del file e questo porta a una maggiore potenza di calcolo e al tempo necessario per caricare il video.
Ad esempio, per la funzionalità di rilevamento dei volti, una risoluzione più elevata può essere utile per lo scenario in cui sono presenti molti visi piccoli ma contestualmente importanti. Tuttavia, si tratta di un aumento quadratico in fase di esecuzione e un aumento del rischio di falsi positivi.
È quindi consigliabile verificare di ottenere i risultati corretti per il caso d'uso e di testarlo in locale. Caricare lo stesso video in 720P e in 4K e confrontare le informazioni dettagliate che si ottengono.