Pustaka klien Azure Video Analyzer Edge untuk Python - versi 1.0.0b4
Dihentikan. Kami menghentikan layanan pratinjau Azure Video Analyzer, Anda disarankan untuk mentransisikan aplikasi Anda dari Video Analyzer sebelum 1 Desember 2022. SDK ini tidak lagi dipertahankan.
Azure Video Analyzer adalah Azure Applied AI Service yang menyediakan platform bagi Anda untuk membangun aplikasi video cerdas yang dapat menjangkau infrastruktur tepi dan cloud. Platform ini menawarkan kemampuan untuk menangkap, merekam, dan menganalisis video langsung bersama dengan menerbitkan hasil, analitik video dan video, ke layanan Azure di tepi atau di cloud. Ini dirancang untuk menjadi platform yang dapat diperluas, memungkinkan Anda untuk menghubungkan modul tepi inferensi video yang berbeda seperti modul Cognitive services, atau modul inferensi kustom yang telah dilatih dengan data Anda sendiri menggunakan pembelajaran mesin sumber terbuka atau Azure Machine Learning.
Gunakan pustaka klien untuk Azure Video Analyzer Edge untuk:
- Menyederhanakan interaksi dengan Microsoft Azure IoT SDK
- Membangun topologi alur dan alur langsung secara terprogram
Paket (PyPI) | Dokumentasi | produk Metode | langsung Pipa | Kode sumber | Sampel
Memulai
Menginstal paket
Instal pustaka klien Video Analyzer Edge untuk Python dengan pip:
pip install azure-media-videoanalyzer-edge
Prasyarat
Python 2.7, atau 3.6 atau yang lebih baru diperlukan untuk menggunakan paket ini.
Anda memerlukan langganan Azure aktif, dan string koneksi perangkat IoT untuk menggunakan paket ini.
Untuk berinteraksi dengan Azure IoT Hub Anda harus menjalankan
pip install azure-iot-hub
Anda harus menggunakan versi SDK yang sesuai dengan versi modul Video Analyzer Edge yang Anda gunakan.
SDK Modul tepi Video Analyzer 1.0.0b3 1.1 1.0.0b2 1,0 1.0.0b1 1,0
Membuat topologi alur dan membuat permintaan
Silakan kunjungi Contoh untuk kode pemula.
Konsep utama
Topologi alur vs alur langsung
Topologi alur adalah cetak biru atau templat untuk membuat alur langsung. Ini mendefinisikan parameter alur menggunakan tempat penampung sebagai nilai untuk mereka. Alur langsung mereferensikan topologi alur dan menentukan parameter. Dengan cara ini Anda dapat memiliki beberapa alur langsung yang mereferensikan topologi yang sama tetapi dengan nilai yang berbeda untuk parameter. Untuk informasi lebih lanjut, kunjungi topologi alur dan alur langsung.
CloudToDeviceMethod
CloudToDeviceMethod
adalah bagian dari azure-iot-hub SDk. Metode ini memungkinkan Anda untuk mengomunikasikan pemberitahuan satu arah ke perangkat di hub IoT Anda. Dalam kasus kami, kami ingin mengkomunikasikan berbagai metode langsung seperti PipelineTopologySetRequest
dan PipelineTopologyGetRequest
. Untuk menggunakan CloudToDeviceMethod
, Anda perlu meneruskan dua parameter: method_name
dan payload
.
Parameter pertama, method_name
, adalah nama permintaan metode langsung yang Anda kirim. Pastikan untuk menggunakan properti masing-masing metode yang telah method_name
ditentukan sebelumnya. Contohnya:PipelineTopologySetRequest.method_name
Parameter kedua, payload
, mengirimkan seluruh serialisasi permintaan topologi alur. Misalnya, PipelineTopologySetRequest.serialize()
Contoh
Membuat topologi alur
Untuk membuat topologi alur, Anda perlu menentukan sumber dan sink.
#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)
Membuat alur langsung
Untuk membuat alur langsung, Anda harus memiliki topologi alur yang ada.
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)
Memanggil metode langsung
Untuk memanggil metode langsung di perangkat, Anda harus terlebih dahulu menentukan permintaan menggunakan Video Analyzer Edge SDK, lalu mengirim permintaan metode tersebut menggunakan 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)
Untuk mencoba topologi alur yang berbeda dengan SDK, silakan lihat Sampel resmi.
Pemecahan Masalah
- Saat mengirim permintaan metode menggunakan IoT Hub
CloudToDeviceMethod
ingat untuk tidak mengetikkan nama permintaan metode secara langsung. Sebagai gantinya gunakan[MethodRequestName.method_name]
- Pastikan untuk membuat serialisasi seluruh permintaan metode sebelum meneruskannya ke
CloudToDeviceMethod
Langkah berikutnya
Berkontribusi
Proyek ini menyambut baik kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi https://cla.microsoft.com.
Jika Anda mengalami masalah, silakan buka masalah di Github kami.
Ketika Anda mengirimkan permintaan tarik, CLA-bot akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghias PR dengan tepat (misalnya, label, komentar). Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di semua repos menggunakan CLA kami.
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Kode Etik atau kontak dengan pertanyaan atau komentar opencode@microsoft.com tambahan.
Azure SDK for Python
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk