Delen via


Afgeschaft. Azure Video Analyzer Edge-clientbibliotheek voor JavaScript

Afgeschaft. De preview-service van Azure Video Analyzer wordt buiten gebruik gesteld. U wordt geadviseerd om uw toepassingen uiterlijk 1 december 2022 van Video Analyzer over te zetten. Deze SDK wordt niet meer onderhouden.

Azure Video Analyzer is een [Azure Applied AI Service][applied-ai-service] die u een platform biedt voor het bouwen van intelligente videotoepassingen die zowel edge- als cloudinfrastructuren kunnen omvatten. Het platform biedt de mogelijkheid om live video vast te leggen, op te nemen en te analyseren, samen met het publiceren van de resultaten, video- en videoanalyses naar Azure-services aan de rand of in de cloud. Het is ontworpen als een uitbreidbaar platform, waarmee u verschillende edge-modules voor videodeductie kunt verbinden, zoals Cognitive Services-modules of aangepaste deductiemodules die zijn getraind met uw eigen gegevens met behulp van opensource machine learning of [Azure Machine Learning][machine learning].

Gebruik de clientbibliotheek voor Video Analyzer Edge voor het volgende:

Belangrijke koppelingen:

Aan de slag

Het pakket installeren

Installeer de Video Analyzer-clientbibliotheek voor Typescript met npm:

npm install @azure/video-analyzer-edge

Vereisten

  • TypeScript v3.6.
  • U hebt een actief Azure-abonnement en een IoT-apparaat connection string nodig om dit pakket te kunnen gebruiken.
  • Als u wilt communiceren met Azure IoT Hub moet u uitvoerennpm install azure-iothub
  • U moet de versie van de SDK gebruiken die overeenkomt met de versie van de Video Analyzer Edge-module die u gebruikt.
SDK Video Analyzer Edge-module
1.0.0-beta.3 1.1
1.0.0-beta.2 1.0
1.0.0-beta.1 1.0

Een pijplijntopologie maken en aanvragen indienen

Ga naar de voorbeelden voor starterscode.

We garanderen dat alle clientexemplaarmethoden thread-veilig en onafhankelijk van elkaar zijn (richtlijn). Dit zorgt ervoor dat de aanbeveling om clientexemplaren opnieuw te gebruiken altijd veilig is, zelfs voor alle threads.

Belangrijkste concepten

Pijplijntopologie versus livepijplijn

Een pijplijntopologie is een blauwdruk of sjabloon voor het instantiëren van livepijplijnen. Hiermee worden de parameters van de pijplijn gedefinieerd met behulp van tijdelijke aanduidingen als waarden voor de pijplijn. Een live-pijplijn verwijst naar een pijplijntopologie en geeft de parameters op. Op deze manier kunt u meerdere live-pijplijnen hebben die verwijzen naar dezelfde topologie, maar met verschillende waarden voor parameters. Ga voor meer informatie naar pijplijntopologieën en live-pijplijnen.

Voorbeelden

Een pijplijntopologie maken

Als u een pijplijntopologie wilt maken, moet u bronnen en sinks definiëren.

const rtspSource: RtspSource = {
  //Create a source for your pipeline topology
  name: "rtspSource",
  endpoint: {
    url: "${rtspUrl}",
    "@type": "#Microsoft.VideoAnalyzer.UnsecuredEndpoint",
    credentials: {
      username: "${rtspUserName}",
      password: "${rtspPassword}",
      "@type": "#Microsoft.VideoAnalyzer.UsernamePasswordCredentials"
    }
  } as UnsecuredEndpoint,
  "@type": "#Microsoft.VideoAnalyzer.RtspSource"
};

const nodeInput: NodeInput = {
  //Create an input for your sink
  nodeName: "rtspSource"
};

const videoSink: VideoSink = {
  name: "videoSink",
  inputs: [nodeInput],
  videoName: "video",
  localMediaCachePath: "/var/lib/videoanalyzer/tmp/",
  localMediaCacheMaximumSizeMiB: "1024",
  "@type": "#Microsoft.VideoAnalyzer.VideoSink"
};

const pipelineTopology: PipelineTopology = {
  name: "jsTestTopology",
  properties: {
    description: "description for jsTestTopology",
    parameters: [
      { name: "rtspUserName", type: "String", default: "testUsername" },
      { name: "rtspPassword", type: "SecretString", default: "testPassword" },
      { name: "rtspUrl", type: "String" }
    ],
    sources: [rtspSource],
    sinks: [videoSink]
  }
};

Een live-pijplijn maken

Als u een live-pijplijnexemplaar wilt maken, moet u een bestaande pijplijntopologie hebben.

const livePipeline: LivePipeline = {
  name: "jsLivePipelineTest",
  properties: {
    description: "description",
    topologyName: pipelineTopologyName,
    parameters: [{ name: "rtspUrl", value: "rtsp://sample.com" }]
  }
};

Een directe methode aanroepen

Als u een directe methode op uw apparaat wilt aanroepen, moet u eerst de aanvraag definiëren met behulp van de Video Analyzer Edge SDK en vervolgens die methodeaanvraag verzenden met behulp van de IoT SDK CloudToDeviceMethod.

import { createRequest } from "@azure/video-analyzer-edge";
import { Client } from "azure-iothub";

const deviceId = process.env.iothub_deviceid;
const moduleId = process.env.iothub_moduleid;
const connectionString = process.env.iothub_connectionstring;
const iotHubClient = Client.fromConnectionString(connectionString); //Connect to your IoT Hub

const pipelineTopologySetRequest = createRequest("pipelineTopologySet", pipelineTopology);
const setPipelineTopResponse = await iotHubClient.invokeDeviceMethod(deviceId, moduleId, {
  methodName: pipelineTopologySetRequest.methodName,
  payload: pipelineTopologySetRequest.payload
});

Problemen oplossen

  • Bij het maken van een methodeaanvraag moet u de spelling van de naam van de methode controleren

Volgende stappen

Bijdragen

Wij verwelkomen bijdragen en suggesties voor dit project. Voor de meeste bijdragen moet u instemmen met een licentieovereenkomst voor bijdragers (CLA: Contributor License Agreement) waarin u verklaart dat u gerechtigd bent ons het recht te geven uw bijdrage te gebruiken, en dat u dit ook doet. Ga naar https://cla.microsoft.com voor meer informatie.

Als u problemen ondervindt, opent u een probleem op onze Github.

Wanneer u een pull-aanvraag indient, wordt met een CLA-bot automatisch bepaald of u een CLA moet verschaffen en wordt de pull-aanvraag dienovereenkomstig opgemaakt (bijvoorbeeld met een label of commentaar). Volg gewoon de instructies van de bot. U hoeft dit maar eenmaal te doen voor alle repo's waar gebruik wordt gemaakt van onze CLA.

Op dit project is de Microsoft Open Source Code of Conduct (Microsoft Open Source-gedragscode) van toepassing. Raadpleeg de Veelgestelde vragen over de gedragscode voor meer informatie of neem contact op met opencode@microsoft.com als u meer vragen of opmerkingen hebt.