Condividi tramite


Aspetti da considerare quando si usa Video Indexer di Azure per intelligenza artificiale su larga scala

Quando si utilizza Azure AI Video Indexer 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.

Prendere in considerazione l'uso di un URL al posto di una matrice di byte quando si caricano video

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, considera solo alcuni dei problemi che possono influire sulle tue prestazioni e quindi sulla tua capacità di scalare.

  • 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.

Diagramma per la prima considerazione per l'uso di Azure AI Video Indexer su larga scala.

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. Azure AI Video Indexer consiglia di usare gli URL SAS di sola lettura.

Rispettare il controllo della velocità

Video Indexer di Azure per intelligenza artificiale è progettato per gestire l'indicizzazione su larga scala. Quando si vuole sfruttare al meglio questa funzionalità, è consigliabile conoscere 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). È previsto 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 il nuovo tentativo successivo. Assicurarsi di rispettarlo prima di provare la richiesta successiva.

Screenshot che mostra le opzioni Troppo traffico di richieste.

Usare l'URL di callback

Invece di eseguire ripetutamente il polling dello stato della richiesta di caricamento, è possibile aggiungere un URL di callback e attendere che Azure AI Video Indexer ti aggiorni. Quando 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. Si tratta di 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:

  • Cambiamento dello stato di indicizzazione

    • Proprietà:

      Nome Descrizione
      id ID del video
      state Lo stato del video
    • Esempio: https://test.com/notifyme?projectName=MyProject& id=1234abcd&state=Processed

  • Persona identificata nel video:

    • Proprietà

      Nome Descrizione
      id ID del video
      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

Utilizza i parametri di indicizzazione più adatti a te

Quando si prendono decisioni relative all'uso di Azure AI Video Indexer su larga scala, determinare come sfruttare al massimo i parametri ottimali per le proprie esigenze. Pensa al tuo caso d'uso; definendo diversi parametri, puoi risparmiare denaro e accelerare il processo di indicizzazione dei tuoi 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 ottengono quasi le stesse informazioni con la stessa fiducia. Maggiore è la qualità del filmato che si carica significa che le dimensioni del file sono maggiori e comporta una maggiore potenza di calcolo e il tempo necessari 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, comporta un aumento quadratico del tempo di esecuzione e un accresciuto 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.