Sdílet prostřednictvím


Zavrhovaný. Klientská knihovna Azure Video Analyzer Edge pro JavaScript

Zavrhovaný. Do 1. prosince 2022 doporučujeme převést aplikace z Video Analyzeru do 1. prosince 2022 do vyřazení služby Azure Video Analyzer. Tato sada SDK už není zachována.

Azure Video Analyzer je [azure applied AI Service][applied-ai-service], která poskytuje platformu pro vytváření inteligentních videoaplikací, které můžou zahrnovat hraniční i cloudovou infrastrukturu. Platforma nabízí možnost zachytávat, zaznamenávat a analyzovat živé video spolu s publikováním výsledků, videí a videí do služeb Azure na hraničních zařízeních nebo v cloudu. Je navržená jako rozšiřitelná platforma, která umožňuje připojit různé moduly pro odvozování videí, jako jsou moduly služeb Cognitive Services, nebo vlastní moduly odvozování, které byly natrénovány s vašimi vlastními daty pomocí opensourcového strojového učení nebo [Azure Machine Learning][machine-learning].

Použijte klientskou knihovnu pro Video Analyzer Edge k:

Klíčové odkazy:

Začínáme

Instalace balíčku

Nainstalujte klientskou knihovnu Video Analyzer pro TypeScript pomocí npm:

npm install @azure/video-analyzer-edge

Požadavky

  • TypeScript v3.6.
  • K použití tohoto balíčku potřebujete aktivní předplatného Azurea připojovací řetězec zařízení IoT.
  • Pokud chcete pracovat s Azure IoT Hubem, budete muset spustit npm install azure-iothub
  • Budete muset použít verzi sady SDK, která odpovídá verzi modulu Video Analyzer Edge, který používáte.
SADA SDK Modul Edge Analyzátoru videa
1.0.0-beta.3 1.1
1.0.0-beta.2 1.0
1.0.0-beta.1 1.0

Vytvoření topologie kanálu a vytváření požadavků

Navštivte prosím Příklady počátečního kódu.

Zaručujeme, že všechny metody instance klienta jsou bezpečné pro přístup z více vláken a nezávisle na sobě (pokyny). Tím se zajistí, že doporučení opakovaného použití klientských instancí je vždy bezpečné, a to i napříč vlákny.

Klíčové koncepty

Topologie kanálu vs. živý kanál

topologie kanálu je podrobný plán nebo šablona pro vytváření instancí živých kanálů. Definuje parametry kanálu pomocí zástupných symbolů jako hodnot pro ně. živého kanálu odkazuje na topologii kanálu a určuje parametry. Díky tomu můžete mít více živých kanálů odkazujících na stejnou topologii, ale s různými hodnotami parametrů. Další informace naleznete v topologie kanálů a živé kanály.

Příklady

Vytvoření topologie kanálu

Pokud chcete vytvořit topologii kanálu, musíte definovat zdroje a jímky.

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]
  }
};

Vytvoření živého kanálu

Pokud chcete vytvořit instanci živého kanálu, musíte mít existující topologii kanálu.

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

Vyvolání přímé metody

Pokud chcete na svém zařízení vyvolat přímou metodu, musíte nejprve definovat požadavek pomocí sady Video Analyzer Edge SDK a pak tuto žádost o metodu odeslat pomocí CloudToDeviceMethodsady IoT SDK.

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
});

Řešení problémů

  • Při vytváření požadavku na metodu nezapomeňte zkontrolovat pravopis názvu metody.

Další kroky

Přispívající

Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která deklaruje, že máte právo a ve skutečnosti nám udělíte práva k používání vašeho příspěvku. Podrobnosti najdete v https://cla.microsoft.com.

Pokud narazíte na nějaké problémy, otevřete problém na našem GitHubu.

Když odešlete žádost o přijetí změn, robot CLA automaticky určí, jestli potřebujete poskytnout CLA, a odpovídajícím způsobem vyzdobit žádost o přijetí změn (např. popisek, komentář). Stačí postupovat podle pokynů poskytovaných robotem. Stačí to udělat jen jednou napříč všemi úložištěmi pomocí naší cla.

Tento projekt přijal pravidla chování microsoftu open source . Další informace najdete v nejčastějších dotazech k kodexu chování nebo se obraťte na opencode@microsoft.com s dalšími dotazy nebo komentáři.