Pijplijn

Notitie

De preview-service van Azure Video Analyzer wordt buiten gebruik gesteld. U wordt aangeraden uw toepassingen tegen 01 december 2022 over te zetten van Video Analyzer.

Azure Video Analyzer voor Media wordt niet beïnvloed door deze buitengebruikstelling. De naam is nu hernoemd naar Azure Video Indexer. Klik hier voor meer informatie.

Actie vereist: als u onderbreking van uw workloads wilt minimaliseren, moet u uw toepassing overzetten van Video Analyzer per suggesties die vóór 01 december 2022 in deze handleiding worden beschreven. Na 1 december 2022 werkt uw Azure Video Analyzer-account niet meer. Vanaf 2 mei 2022 kunt u geen nieuwe Video Analyzer-accounts maken.

Met pijplijnen kunt u video opnemen, verwerken en publiceren in de edge en cloud van Azure Video Analyzer. Met pijplijntopologieën kunt u definiëren hoe video moet worden opgenomen, verwerkt en gepubliceerd via een set configureerbare knooppunten. Na de definitie kunnen topologieën vervolgens worden geïnstantieerd als afzonderlijke pijplijnen die gericht zijn op specifieke camera's of broninhoud, die onafhankelijk worden verwerkt. Pijplijnen kunnen worden gedefinieerd en geïnstantieerd aan de rand voor on-premises videoverwerking of in de cloud. De onderstaande diagrammen bieden grafische weergaven van dergelijke pijplijnen.

Representation of a pipeline

Representation of a cloud pipeline

Aanbevolen om te lezen

Pijplijntopologieën

Met een pijplijntopologie kunt u beschrijven hoe livevideo's of opgenomen video's moeten worden verwerkt en geanalyseerd voor uw aangepaste behoeften via een set onderling verbonden knooppunten. Het fungeert als een sjabloon of blauwdruk voor uw live videowerkstroom. Video Analyzer ondersteunt twee soorten topologieën: live en batch. Zoals de naam al aangeeft, worden livetopologieën gebruikt met livevideo van camera's. Batch-topologieën worden gebruikt voor het verwerken van opgenomen video's.

Pijplijn ondersteunt verschillende typen knooppunten:

  • Bronknooppunten maken het vastleggen van gegevens in de pijplijn mogelijk. Gegevens verwijzen naar audio, video en/of metagegevens.
  • Processorknooppunten maken het verwerken van media in de pijplijn mogelijk.
  • Sink-knooppunten maken het mogelijk om de resultaten te leveren aan services en apps buiten de pijplijn.

U kunt verschillende topologieën maken voor verschillende scenario's door te selecteren welke knooppunten zich in de topologie bevinden, hoe deze zijn verbonden, met parameters als tijdelijke aanduidingen voor waarden. Een pijplijn is een afzonderlijk exemplaar van een specifieke pijplijntopologie. Een pijplijn is waar media daadwerkelijk worden verwerkt. Pijplijnen kunnen worden gekoppeld aan afzonderlijke camera's of opgenomen video's via door de gebruiker gedefinieerde parameters die zijn gedeclareerd in de pijplijntopologie. Exemplaren van een live-topologie worden live-pijplijnen genoemd en exemplaren van een batchtopologie worden pijplijntaken genoemd.

Als u bijvoorbeeld video's van meerdere IP-camera's wilt opnemen, kunt u een pijplijntopologie definiëren die bestaat uit een RTSP-bronknooppunt en een video-sinkknooppunt. Het RTSP-bronknooppunt kan RTSP-URL, gebruikersnaam en wachtwoord hebben als parameters. Het knooppunt voor de video-sink kan de naam van de video als parameter hebben. Waarden voor deze parameters kunnen worden opgegeven bij het maken van meerdere pijplijnen uit dezelfde topologie: één pijplijn per camera.

Batch-topologieën worden alleen ondersteund in de Video Analyzer-service (en niet in de Edge-module van Video Analyzer). Live-pijplijnen worden in beide ondersteund.

Pijplijnstatussen

U begint met het maken van de pijplijntopologie. Zodra de topologie is gedefinieerd, kunt u pijplijnen maken door waarden voor de parameters op te geven.

Live-pijplijn

De levenscyclus van een pijplijn wordt weergegeven in het onderstaande diagram.

Lifecycle of a live pipeline

Wanneer het maken van een pijplijn is voltooid, heeft de status Inactief. Bij de activering voert een pijplijn kort de status Activeren in voordat deze naar de status Actief gaat. Gegevens (livevideo) stromen door de pijplijn wanneer ze de status Actief hebben. Bij het deactiveren voert een actieve pijplijn de status Deactivating in en vervolgens 'Inactive'. Alleen inactieve pijplijnen kunnen worden verwijderd.

Live-pijplijnen zijn ontworpen om actief te blijven, eenmaal geactiveerd en de livevideo van de bron (camera) te verwerken. Er is een expliciete deactiveeropdracht vereist om de verwerking te stoppen. Een pijplijn kan actief zijn zonder gegevens te doorlopen (bijvoorbeeld de invoervideobron gaat offline). Uw Azure-abonnement wordt gefactureerd wanneer de pijplijn de actieve status heeft.

Batch-pijplijn

De levenscyclus van een pijplijntaak wordt weergegeven in het onderstaande diagram.

Diagram of a batch pipeline lifecycle.

Wanneer het maken van een pijplijntaak is voltooid, treedt deze op in de status 'Verwerking'. Als de taak is voltooid, treedt deze op in de status Voltooid, anders als deze mislukt, wordt de status Mislukt. U kunt ook, terwijl de pijplijntaak de status Verwerking heeft, een annuleringsaanvraag worden uitgegeven. Als deze aanvraag is geslaagd, gaat de taak naar de status Geannuleerd. Uw Azure-abonnement wordt alleen gefactureerd als de pijplijntaak is voltooid.

Er kunnen meerdere pijplijnen worden gemaakt op basis van één topologie door verschillende waarden op te leveren voor de parameters in de topologie. U kunt bijvoorbeeld pijplijntaken met dezelfde topologie verzenden voor verschillende video-opnamen. Een topologie kan worden verwijderd wanneer alle pijplijnen zijn verwijderd.

Bronnen, processors en sinks

Met Video Analyzer kunt u pijplijntopologieën definiëren met de volgende knooppunten.

Notitie

Niet alle knooppunten zijn beschikbaar in zowel de Edge-module van Video Analyzer als de service. Zie Regels voor het gebruik van knooppunten.

Bronnen

RTSP-bron

Met een RTSP-bronknooppunt kunt u media vastleggen vanaf een camera die geschikt is voor RTSP. Zie hier voor meer informatie. Voor het RTSP-bronknooppunt moet u een RTSP-URL opgeven, samen met referenties om een geverifieerde verbinding in te schakelen.

IoT Hub berichtbron

Net als andere IoT Edge modules kan de Azure Video Analyzer-module berichten ontvangen via de IoT Edge hub. Berichten kunnen worden verzonden vanuit andere modules of apps die worden uitgevoerd op het Edge-apparaat of vanuit de cloud. Dergelijke berichten kunnen worden bezorgd (gerouteerd) naar een benoemde invoer in de videoanalysemodule. Een IoT Hub bronknooppunt voor berichten maakt het opnemen van dergelijke berichten in een pijplijn mogelijk. Berichten kunnen vervolgens in een pijplijn worden gebruikt om een signaalpoort te activeren (zie de signaalpoorten hieronder).

U kunt bijvoorbeeld een IoT Edge module hebben waarmee een bericht wordt gegenereerd wanneer een deur wordt geopend. Het bericht van die module kan worden gerouteerd naar IoT Edge hub, van waaruit het vervolgens kan worden gerouteerd naar de IoT Hub-berichtbron van een pijplijn. In de pijplijn kan het bericht vanuit de IoT Hub-berichtbron worden doorgegeven aan een signaalpoortprocessor, die vervolgens de opname van de video vanuit een RTSP-bron in een bestand kan inschakelen.

Videobron

Hiermee kan videoanalyse opgenomen video-inhoud worden gebruikt als bron. Voor het knooppunt moet u de naam van de videoresource opgeven, evenals de begin- en eindtijd van de gedeelten van de opgenomen video die moeten worden verwerkt.

Processors

Bewegingsdetectieprocessor

Met het knooppunt van de bewegingsdetectieprocessor kunt u beweging detecteren in livevideo. Het onderzoekt binnenkomende videoframes en bepaalt of er beweging in de video is. Als er beweging wordt gedetecteerd, wordt het videoframe doorgegeven aan het volgende knooppunt in de pijplijn en wordt een gebeurtenis verzonden. Het bewegingsdetectieprocessorknooppunt (in combinatie met andere knooppunten) kan worden gebruikt om het opnemen van de binnenkomende video te activeren wanneer er beweging wordt gedetecteerd.

HTTP-extensieprocessor

Met het knooppunt voor de HTTP-extensieprocessor kunt u de pijplijn uitbreiden naar uw eigen IoT Edge-module. Dit knooppunt gebruikt gedecodeerde videoframes als invoer en stuurt dergelijke frames door naar een HTTP REST-eindpunt dat door uw module wordt weergegeven, waar u het frame kunt analyseren met een AI-model en deductieresultaten kunt retourneren. Daarnaast heeft dit knooppunt een ingebouwde afbeeldingsindeling voor het schalen en coderen van videoframes voordat ze worden doorgestuurd naar het HTTP-eindpunt. De schaalaanpassing heeft opties voor de hoogte-breedteverhouding van de afbeelding die moet worden behouden, opgevuld of uitgerekt. De coderingsprogramma voor afbeeldingen ondersteunt JPEG-, PNG-, BMP- en RAW-indelingen. Meer informatie over de processor vindt u hier.

gRPC-extensieprocessor

Het knooppunt van de gRPC-extensieprocessor neemt gedecodeerde videoframes als invoer en stuurt dergelijke frames door naar een gRPC-eindpunt dat door uw module wordt weergegeven. Het knooppunt ondersteunt het overdragen van gegevens met behulp van gedeeld geheugen of het rechtstreeks insluiten van het frame in de hoofdtekst van gRPC-berichten. Net als het HTTP-extensieproces heeft dit knooppunt ook een ingebouwde afbeeldingsindeling voor het schalen en coderen van videoframes voordat ze worden doorgestuurd naar het gRPC-eindpunt. Meer informatie over de processor vindt u hier.

Cognitive Services-extensieprocessor

Met het knooppunt van de Cognitive Services-extensieprocessor kunt u de pijplijn uitbreiden naar de module Spatial Analysis IoT Edge. Dit knooppunt gebruikt gedecodeerde videoframes als invoer en stuurt dergelijke frames door naar een gRPC-eindpunt dat wordt weergegeven, waar u het frame kunt analyseren met vaardigheden voor ruimtelijke analyse en deductieresultaten kunt retourneren. Meer informatie over de processor vindt u hier.

Signaalpoortprocessor

Met het signaalpoortprocessorknooppunt kunt u media voorwaardelijk van het ene knooppunt naar het andere doorsturen. Het signaalpoortprocessorknooppunt moet onmiddellijk worden gevolgd door een video-sink of bestandssink. Een voorbeeld van een use-case is het invoegen van een signaalpoortprocessorknooppunt tussen het RTSP-bronknooppunt en het video sink-knooppunt, en het gebruik van de uitvoer van een bewegingsdetectorprocessorknooppunt om de poort te activeren. Met een dergelijke pijplijn zou u alleen video opnemen wanneer er beweging wordt gedetecteerd. U kunt ook de uitvoer van het HTTP- of gRPC-extensieknooppunt gebruiken om de poort te activeren, in plaats van bewegingsdetectieprocessorknooppunt, waardoor het opnemen van video mogelijk wordt wanneer er iets interessants wordt gedetecteerd.

Objecttrackerprocessor

Met het knooppunt voor de objecttrackerprocessor kunt u objecten bijhouden die zijn gedetecteerd in een upstream-HTTP- of gRPC-extensieprocessorknooppunt. Dit knooppunt is handig wanneer u objecten in elk frame moet detecteren, maar het edge-apparaat beschikt niet over de benodigde rekenkracht om het AI-model op elk frame toe te passen. Als u uw Computer Vision-model alleen op elk 10e frame kunt uitvoeren, kan de objecttracker de resultaten van een dergelijk frame nemen en vervolgens optische stroomtechnieken gebruiken om resultaten te genereren voor het tweede, 3e,..., 9e frame, totdat het model opnieuw wordt toegepast op het volgende frame. Er is een afweging tussen rekenkracht en nauwkeurigheid bij het gebruik van dit knooppunt. Hoe dichter de frames waarop het AI-model wordt toegepast, hoe beter de nauwkeurigheid. Dit betekent echter dat het AI-model vaker wordt toegepast, wat vertaalt naar een hogere rekenkracht. Een veelvoorkomend gebruik van het knooppunt van de objecttrackerprocessor is om te detecteren wanneer een object een lijn overschrijdt.

Lijnovergangsprocessor

Met het processorknooppunt voor lijnoverstekens kunt u detecteren wanneer een object een door u gedefinieerde lijn overschrijdt. Daarnaast onderhoudt het ook een telling van het aantal objecten dat de lijn kruist (vanaf het moment dat een pijplijn wordt geactiveerd). Dit knooppunt moet worden gebruikt downstream van een processorknooppunt voor objecttrackers.

Encoderprocessor

Met het coderingsprocessorknooppunt kan de gebruiker coderingseigenschappen opgeven bij het converteren van de opgenomen video naar de gewenste indeling voor downstreamverwerking. Video die is opgenomen vanaf een camera die is geconfigureerd voor 4K-resolutie , moet mogelijk worden aangepast aan Full HD-resolutie (1920x1080) voordat deze wordt geëxporteerd naar een bestand.

Putten

Video-sink

Met een video-sinkknooppunt kunt u video en bijbehorende metagegevens opslaan in uw Video Analyzer-cloudresource. Video kan continu of sparse worden opgenomen (op basis van gebeurtenissen). Het video-sinkknooppunt kan video op het edge-apparaat in de cache opslaan als de verbinding met de cloud verloren gaat en het uploaden hervat wanneer de verbinding wordt hersteld. U kunt het artikel over continue video-opname bekijken voor meer informatie over hoe de eigenschappen van dit knooppunt kunnen worden geconfigureerd.

Vanwege veiligheidsredenen kan een bepaald edge-module-exemplaar van Video Analyzer alleen inhoud opnemen in nieuwe video-vermeldingen of eerder opgenomen video-vermeldingen door dezelfde module. Elke poging om inhoud op te nemen in een bestaande video die niet is gemaakt door hetzelfde exemplaar van de Edge-module, leidt tot een fout bij het opnemen.

Bestandssink

Met het bestandssinkknooppunt kunt u video schrijven naar een locatie op het lokale bestandssysteem van het edge-apparaat. Er kan slechts één bestandssinkknooppunt in een pijplijn zijn en het moet downstream zijn vanaf een signaalpoortprocessorknooppunt. Dit beperkt de duur van de uitvoerbestanden tot waarden die zijn opgegeven in de eigenschappen van het signaalpoortprocessorknooppunt. U kunt ook de maximale grootte instellen die de Edge-module van Video Analyzer kan gebruiken om gegevens in de cache op te slaan om ervoor te zorgen dat uw edge-apparaat geen schijfruimte heeft.

Als de cache vol raakt, wordt de Edge-module van Video Analyzer gestart met het verwijderen van de oudste gegevens en vervangen door de nieuwe.

IoT Hub berichtsink

Met een IoT Hub message sink-knooppunt kunt u gebeurtenissen publiceren naar IoT Edge hub. De IoT Edge hub kan worden geconfigureerd om de gegevens te routeren naar andere modules of apps op het edge-apparaat, of om te IoT Hub in de cloud (per routes die zijn opgegeven in het implementatiemanifest). Het IoT Hub message sink-knooppunt kan gebeurtenissen van upstreamprocessorknooppunten accepteren, zoals een bewegingsdetectieprocessorknooppunt, of vanuit een externe deductieservice via een HTTP-extensieprocessorknooppunt.

Regels voor het gebruik van knooppunten

In de volgende tabel worden de huidige regels beschreven waarop knooppunten zijn toegestaan in live- en batchtopologieën, en in de Edge-module en -service van Video Analyzer.

Naam van knooppunt Topologietype Implementatie
RTSP-bron Live Edge en cloud
IoT Hub-berichtbron Live Edge
Videobron Batch Cloud
Bewegingsdetectieprocessor Live Edge
HTTP-extensieprocessor Live Edge
gRPC-extensieprocessor Live Edge
Cognitive Services-extensieprocessor Live Edge
Signaalpoortprocessor Live Edge
Objecttrackerprocessor Live Edge
Lijnovergangsprocessor Live Edge
Encoderprocessor Batch Cloud
Video-sink Live en batch Edge en cloud
Bestandssink Live Edge
Sink voor IoT-hubberichten Live Edge

Zie beperkingen voor pijplijnen voor aanvullende regels over hoe verschillende knooppunten kunnen worden gebruikt binnen een topologie.

Scenario's

Met behulp van een combinatie van de bronnen, processors en sinks die hierboven zijn gedefinieerd, kunt u pijplijnen bouwen voor verschillende scenario's met betrekking tot analyse van livevideo. Voorbeeldscenario's zijn:

Volgende stappen

Zie quickstart: Aan de slag – Azure Video Analyzer om te zien hoe u bewegingsdetectie kunt uitvoeren op een livevideofeed.