跳转到主要内容

Azure Video Analyzer Edge SDK库用于Python

项目描述

Azure Video Analyzer Edge客户端库用于Python

已弃用。我们正在淘汰Azure Video Analyzer预览服务,建议您在2022年12月1日之前将应用程序从Video Analyzer迁移出来。此SDK不再维护。

Azure Video Analyzer是Azure应用AI服务,为您提供一个平台,可以构建智能视频应用程序,该应用程序可以跨越边缘和云基础设施。该平台提供捕获、录制和分析实时视频的能力,并将结果、视频和视频分析发布到边缘或云中的Azure服务。它被设计成一个可扩展的平台,使您能够连接不同的视频推理边缘模块,例如认知服务模块或使用开源机器学习或Azure机器学习训练的自定义推理模块。

使用视频分析边缘客户端库以

包(PyPI) | 产品文档 | 直接方法 | 管道 | 源代码 | 示例

入门

安装包

使用pip安装Python的Video Analyzer Edge客户端库

pip install azure-media-videoanalyzer-edge

先决条件

  • 要使用此包,需要Python 2.7、3.6或更高版本。

  • 您需要一个有效的Azure订阅以及用于此包的IoT设备连接字符串。

  • 要与Azure IoT Hub交互,您需要运行pip install azure-iot-hub

  • 您需要使用与您使用的Video Analyzer Edge模块版本相对应的SDK版本。

    SDK 视频分析边缘模块
    1.0.0b3 1.1
    1.0.0b2 1.0
    1.0.0b1 1.0

创建管道拓扑和发送请求

请访问示例以获取入门代码。

关键概念

管道拓扑与实时管道

一个管道拓扑是创建实时管道的蓝图或模板。它使用占位符作为参数值的定义。一个实时管道引用管道拓扑并指定参数。这样,您就可以拥有多个引用同一拓扑但参数值不同的实时管道。有关更多信息,请访问管道拓扑和实时管道

CloudToDeviceMethod

CloudToDeviceMethodazure-iot-hub SDK的一部分。此方法允许您向IoT hub中的设备发送单向通知。在我们的情况下,我们希望与各种直接方法(如PipelineTopologySetRequestPipelineTopologyGetRequest)进行通信。要使用CloudToDeviceMethod,您需要传递两个参数:method_namepayload

第一个参数,method_name,是您发送的直接方法请求的名称。请确保使用每个方法预定义的method_name属性。例如,PipelineTopologySetRequest.method_name

第二个参数,payload,发送整个序列化的管道拓扑请求。例如,PipelineTopologySetRequest.serialize()

示例

创建管道拓扑

要创建管道拓扑,您需要定义源和汇。

#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)

创建实时管道

要创建实时管道,您需要有现有的管道拓扑。

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)

调用直接方法

要在您的设备上调用直接方法,您需要首先使用Video Analyzer Edge SDK定义请求,然后使用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)

要尝试使用SDK的不同管道拓扑,请参阅官方的示例

故障排除

  • 在通过IoT Hub的CloudToDeviceMethod发送方法请求时,请记住不要直接输入方法请求名称。相反,使用[MethodRequestName.method_name]
  • 在传递给CloudToDeviceMethod之前,确保序列化整个方法请求。

下一步

贡献

此项目欢迎贡献和建议。大多数贡献都需要您同意贡献者许可协议(CLA),声明您有权并且实际上确实授予我们使用您贡献的权利。有关详细信息,请访问https://cla.microsoft.com

如果在使用过程中遇到任何问题,请在我们GitHub上创建一个issue。

提交pull request时,CLA-bot会自动判断您是否需要提供CLA,并适当地装饰PR(例如,标签、注释)。只需遵循bot提供的说明。您只需在整个使用我们的CLA的仓库中执行此操作一次。

本项目已采用微软开源行为准则。如需更多信息,请参阅行为准则FAQ,或通过opencode@microsoft.com发送任何额外的问题或评论。

发布历史

1.0.0b4(2022-04-29)

其他更改

已弃用。我们正在淘汰Azure Video Analyzer预览服务,建议您在2022年12月1日之前将应用程序从Video Analyzer迁移出来。此SDK不再维护。

1.0.0b3(2021-11-09)

  • 为ONVIF启用设备添加了设备发现和设备详情请求。
  • 添加了远程设备适配器配置,用于在私有网络中摄取视频。
  • 为VideoSink添加了保留策略。

1.0.0b2(2021-05-19)

  • 更新了软件包的标题和描述。

1.0.0b1(2021-05-19)

初始发布

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源代码分发

azure-media-videoanalyzer-edge-1.0.0b4.zip (76.3 kB 查看哈希值

上传时间 源代码

构建分发

azure_media_videoanalyzer_edge-1.0.0b4-py2.py3-none-any.whl (60.0 kB 查看哈希值

上传时间 Python 2 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面