Klientská knihovna Azure Video Analyzer Edge pro Python – verze 1.0.0b4
Zastaralé Vyřazujeme službu Azure Video Analyzer verze Preview. Doporučujeme, abyste do 1. prosince 2022 převeli své aplikace mimo Video Analyzer. Tato sada SDK se už neudržuje.
Azure Video Analyzer je služba Azure Applied AI Service , která poskytuje platformu pro vytváření inteligentních videoaplikací, které mohou zahrnovat hraniční i cloudovou infrastrukturu. Platforma nabízí možnost zaznamenávat, zaznamenávat a analyzovat živé video a publikovat výsledky, analýzu videa a videa 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é hraniční moduly pro odvozování videa, jako jsou moduly Služeb Cognitive Services, nebo vlastní moduly pro odvozování, které byly vytrénovány s vlastními daty pomocí opensourcového strojového učení nebo služby Azure Machine Learning.
Pomocí klientské knihovny pro Video Analyzer Edge můžete:
- Zjednodušení interakcí se sadami Microsoft Azure IoT SDK
- Sestavování topologií kanálů a živých kanálů prostřednictvím kódu programu
Balíček (PyPI) | Dokumentace k | produktu Přímé metody | Potrubí | Zdrojový kód | Vzorky
Začínáme
Instalace balíčku
Nainstalujte klientskou knihovnu Video Analyzer Edge pro Python pomocí pipu:
pip install azure-media-videoanalyzer-edge
Požadavky
K použití tohoto balíčku se vyžaduje Python 2.7 nebo 3.6 nebo novější.
K použití tohoto balíčku potřebujete aktivní předplatné Azure a připojovací řetězec zařízení IoT.
Pokud chcete pracovat s Azure IoT Hub, budete muset spustit
pip install azure-iot-hub
Budete muset použít verzi sady SDK, která odpovídá verzi modulu Video Analyzer Edge, kterou používáte.
Sada SDK Modul Edge Video Analyzer 1.0.0b3 1.1 1.0.0b2 1.0 1.0.0b1 1.0
Vytvoření topologie kanálu a vytváření požadavků
Navštivte prosím příklady počátečního kódu.
Klíčové koncepty
Topologie kanálu vs. živý kanál
Topologie kanálu je podrobný plán nebo šablona pro vytváření živých kanálů. Definuje parametry kanálu pomocí zástupných symbolů jako hodnot pro ně. Živý kanál odkazuje na topologii kanálu a určuje parametry. Díky tomu můžete mít několik živých kanálů odkazujících na stejnou topologii, ale s různými hodnotami parametrů. Další informace najdete v topologiích kanálů a živých kanálech.
CloudToDeviceMethod
Je CloudToDeviceMethod
součástí sady azure-iot-hub SDK. Tato metoda umožňuje komunikovat jednosměrná oznámení do zařízení v centru IoT. V našem případě chceme komunikovat různé přímé metody, jako PipelineTopologySetRequest
je a PipelineTopologyGetRequest
. Pokud chcete použít CloudToDeviceMethod
, musíte předat dva parametry: method_name
a payload
.
První parametr , je název požadavku přímé metody, method_name
který odesíláte. Nezapomeňte použít předdefinovanou method_name
vlastnost každé metody. Například, PipelineTopologySetRequest.method_name
.
Druhý parametr , payload
odešle celou serializaci požadavku topologie kanálu. Například PipelineTopologySetRequest.serialize()
.
Příklady
Vytvoření topologie kanálu
Pokud chcete vytvořit topologii kanálu, musíte definovat zdroje a jímky.
#Parameters
user_name_param = ParameterDeclaration(name="rtspUserName",type="String",default="testusername")
password_param = ParameterDeclaration(name="rtspPassword",type="SecretString",default="testpassword")
url_param = ParameterDeclaration(name="rtspUrl",type="String",default="rtsp://www.sample.com")
#Source and Sink
source = RtspSource(name="rtspSource", endpoint=UnsecuredEndpoint(url="${rtspUrl}",credentials=UsernamePasswordCredentials(username="${rtspUserName}",password="${rtspPassword}")))
node = NodeInput(node_name="rtspSource")
sink = VideoSink(name="videoSink", inputs=[node], video_name="video", local_media_cache_path="/var/lib/videoanalyzer/tmp/", local_media_cache_maximum_size_mi_b="1024");
pipeline_topology_properties = PipelineTopologyProperties()
pipeline_topology_properties.parameters = [user_name_param, password_param, url_param]
pipeline_topology_properties.sources = [source]
pipeline_topology_properties.sinks = [sink]
pipeline_topology = PipelineTopology(name=pipeline_topology_name,properties=pipeline_topology_properties)
Vytvoření živého kanálu
Pokud chcete vytvořit živý kanál, musíte mít existující topologii kanálu.
url_param = ParameterDefinition(name="rtspUrl", value=pipeline_url)
pass_param = ParameterDefinition(name="rtspPassword", value="secret_password")
live_pipeline_properties = LivePipelineProperties(description="Sample pipeline description", topology_name=pipeline_topology_name, parameters=[url_param])
live_pipeline = LivePipeline(name=live_pipeline_name, properties=live_pipeline_properties)
Vyvolání přímé metody
Pokud chcete na svém zařízení vyvolat přímou metodu, musíte nejprve definovat požadavek pomocí sady Edge SDK služby Video Analyzer a pak odeslat požadavek na tuto metodu pomocí sady IoT SDK CloudToDeviceMethod
.
set_method_request = PipelineTopologySetRequest(pipeline_topology=pipeline_topology)
direct_method = CloudToDeviceMethod(method_name=set_method_request.method_name, payload=set_method_request.serialize())
registry_manager = IoTHubRegistryManager(connection_string)
registry_manager.invoke_device_module_method(device_id, module_d, direct_method)
Pokud chcete vyzkoušet různé topologie kanálu se sadou SDK, projděte si oficiální ukázky.
Poradce při potížích
- Při odesílání žádosti o metodu pomocí IoT Hub
CloudToDeviceMethod
nezapomeňte nezadávat název požadavku metody přímo. Místo něj se použije[MethodRequestName.method_name]
. - Před předáním požadavku na metodu nezapomeňte serializovat celou metodu.
CloudToDeviceMethod
Další kroky
Přispívání
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á stanoví, že máte právo udělit nám práva k používání vašeho příspěvku a skutečně tak činíte. Podrobnosti najdete tady: https://cla.microsoft.com
Pokud narazíte na nějaké problémy, otevřete problém na našem GitHubu.
Při odesílání žádosti o přijetí změn robot CLA automaticky určí, jestli je potřeba poskytnout smlouvu CLA, a příslušným způsobem žádost o přijetí změn upraví (např. přidáním jmenovky nebo komentáře). Stačí postupovat podle pokynů robota. Pro všechna úložiště používající naši smlouvu CLA to stačí udělat jenom jednou.
Tento projekt přijal pravidla chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování. V případě jakýchkoli dotazů nebo připomínek kontaktujte opencode@microsoft.com.
Azure SDK for Python