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:
- Zjednodušení interakcí s sadami MICROSOFT Azure IoT SDK
- Vytváření topologií kanálů a živých kanálů prostřednictvím kódu programu
Klíčové odkazy:
- dokumentace k produktu
- přímé metody
- zdrojového kódu
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í CloudToDeviceMethod
sady 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
- ukázky
- sady Azure IoT Device SDK
- sady SDK služby Azure IoTHub
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.
Azure SDK for JavaScript