Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln är en översikt över Azure AI Video Indexer Bring Your Own AI-modellen.
Introduktion
Du kan kombinera insikter från andra källor, inklusive modeller från tredje part, klassificering och identifiering, för att skapa en detaljerad analys av dina mediedata. Du kan använda en eller flera av de modeller som erbjuds av Microsoft, en extern anpassad modell eller en anpassad person-, varumärkes-, tal- eller språkmodell som erbjuds av Azure Video Indexer.
Funktionen är också tillgänglig för VI som aktiveras av Arc.
Anmärkning
DISCLAIMER: Microsofts uppförandekod för Azure OpenAI-tjänsten gäller för din användning av funktionen Bring Your Own Model, som innehåller Microsofts rätt att avbryta din åtkomst och användning av den här funktionen för inkompatibilitet.
Prissättning
Med Video Indexer BYO-modellen kan du lägga till anpassade insikter i videoinsiktsobjekt utan att medföra några extra kostnader utöver den angivna kostnaden för indexeringsprocessen. Kostnader relaterade till den externa miljön och modellen bör dock inte betraktas som en del av Video Indexer-faktureringspriset. Vi rekommenderar starkt att du granskar avsnittet med metodtips för att optimera den externa logiken och minska kostnaderna.
Allmänt arbetsflöde
- Videon laddas upp och indexeras med Azure AI Video Indexer.
- När indexeringsprocessen är klar skapas en händelse.
- Din anpassade kod lyssnar på händelsen och startar videons efterbearbetningsprocess.
Förutsättningar
Innan du kan börja använda BYO-modellfunktionen med Azure AI Video Indexer måste du:
- Träna eller ta med en extern AI-modell som tar emot videomaterial och ger en insikt.
- Skapa anpassad kod som:
- Lyssnar efter händelser från Event Hubs.
- Extraherar
video id
från händelserna. - Hämtar relevanta tillgångar genom att anropa VI-API:er. I det här scenariot begär du Hämta videoindex och Hämta bildrutors SAS-URL:er.
- Skickar tillgångarna till den externa AI-modellen.
- Skapar ett JSON-objekt baserat på de insikter som hämtats från den anpassade AI-modellen.
- Begär patch-uppdatering av videoindex.
Schemat
Värdena för att fylla i anpassade data är följande:
Namn | Beskrivning | Krävs |
---|---|---|
Namn | Namn på extern AI-modell | sann |
visningsnamn | Namn på insiktsgrupp som ska visas i Video Indexer | sann |
visningstyp | Definierar typen av gränssnittsrepresentation för den här specifika insiktsgruppen.
Standardvärde: Kapslar Möjliga typer: Kapsel – endast text på en nivå CapsuleAndTags -Two nivåer text bara mer kommer att läggas till i framtiden. |
falskt |
resultat | Matris med objekt som representerar de insikter som identifierats av den externa AI-modellen | sann |
results.id | Användardefinerat ID för resultatobjektet bör vara unikt inom resultatomfånget | sann |
resultat.typ | Det här fältet representerar den typ av insikt som kategoriserades av den externa AI-modellen. Den används för att representera en allmän insiktskategori, vilket innebär att det kan finnas flera insikter av den här typen som identifieras i en viss ram. Exempel på insiktstyper är: basketball , crowd clapping , white shirt . |
sann |
results.subType | Det här fältet representerar den typ av insikt som kategoriserades av den externa AI-modellen. Den används för att representera en specifik insiktskategori, vilket innebär att det bara kan finnas en enda insikt av den här typen som identifieras i en specifik ram. Exempel på insiktstyper är: basketball #23 , John clapping , Dana’s white shirt . |
falskt |
results.metaData | Mer data om insikten | falskt |
resultat.instans | Array som representerar de tidsfönster då insikten upptäcktes. | sann |
resultat.instansers.förtroende | Ange med konfidenspoängen som returneras från den externa modellen | falskt |
resultat.instans.start | Starttid för instansen i videon. Format: hh.mm.ss.ff |
falskt |
resultat.instans.slut | Sluttid för sekvensen i videon. Format: hh.mm.ss.ff |
falskt |
resultat.instans.justeraStart | Används när det visas i användargränssnittet och ställs in med värdet från Start | falskt |
resultat.instans.justeringSlut | Används när det visas i användargränssnittet och sätts med värdet från slutet | falskt |
Bildfrekvens
Azure AI Video Indexer stöder en FPS för videonivån Basic/Standard och fyra FPS för den avancerade nivån. Högre bildfrekvenser stöds inte. Du kan optimera indexeringen genom att:
- Bearbeta endast specifika segment som är av intresse, till exempel bildrutor som innehåller ett identifierat ljud, ett objekt eller en person, eller
- exempel på en lägre FPS, till exempel var 5:e sekund.
Val av ram
Du kan använda parametrarna hoppa över bildrutor och sidstorlek för tidsval. För att fastställa tidsintervallet kan formeln där värdet för att hoppa över bildrutor multipliceras med FPS och sidstorleksvärdet multipliceras med FPS användas.
URL:https://api.videoindexer.ai/{location}/Accounts/{accountId}/Videos/{videoId}/FramesFilePaths[?urlsLifetimeSeconds][&pageSize][&skip][&accessToken]
Parametrar:
Namn | Beskrivning | Krävs |
---|---|---|
videoId | ID för videon | sann |
urlsLifetimeSeconds | Url:ernas livslängd, i sekunder | sann |
pageSize | Maximalt antal bildrutor som ska returneras för varje anrop | falskt |
skippa | Antal bildrutor att hoppa över | falskt |
accessToken | Ska anges som parameter i URL-frågesträngen eller i auktoriseringshuvudet som ägartoken. Omfånget för åtkomsttoken ska vara Konto och behörigheten ska vara Läsare. | sann |
Svar:FrameFilePathsResult
Namn | Beskrivning | Krävs |
---|---|---|
resultat | Lista över FrameUriData | Falsk |
Nästa sida | Siddata (hoppa över, sidstorlek, ärKlar) | Falsk |
FrameFilePathData
Namn | Beskrivning |
---|---|
Namn | Namnet på ramfilen |
frameIndex | Index för ramen |
StartTime | Starttid för bildrutan i videon |
EndTime | Sluttid för bildrutan i videon |
filePath | Sas-URI för ramen i molnmiljön eller filsökvägen i gränsmiljöer |
Exempeldata som skickas från anpassat program i schemaformat
"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",
}
]
}
]
}...