Sdílet prostřednictvím


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:

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 spustitpip 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_namekterý odesíláte. Nezapomeňte použít předdefinovanou method_name vlastnost každé metody. Například, PipelineTopologySetRequest.method_name.

Druhý parametr , payloadodeš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.