Azure Live video analizi IoT Edge SSS

Not

Hizmetin en son sürümü için bkz. Azure Video Analyzer.

Bu makalede, Azure IoT Edge üzerinde canlı video analizi hakkında sıkça sorulan sorular yanıtlanmaktadır.

Genel

Grafik topolojisi tanımında hangi sistem değişkenlerini kullanabilirim?

Değişken Açıklama
System. DateTime Genellikle aşağıdaki biçimde bir tarih ve saat olarak ifade edilen UTC zamanında bir anlık temsil eder:
yyyyMMddTHHmmssZ
System. ııisedatetime Aşağıdaki biçimde, ıSO8601 dosya uyumlu bir biçimde milisaniye olan bir Eşgüdümlü Evrensel Saat (UTC) Tarih-saat örneğini temsil eder:
yyyyMMddTHHmmss. fffZ
System. Graphtopologyıname Bir medya grafiği topolojisini temsil eder ve bir grafiğin şema öğesini barındırır.
System. Graphınstancename Bir medya grafiği örneğini temsil eder, parametre değerlerini barındırır ve topolojiye başvurur.

Yapılandırma ve dağıtım

Medya Edge modülünü bir Windows 10 cihazına dağıtabilir miyim?

Evet. Daha fazla bilgi için bkz. Windows 10 ' da Linux kapsayıcıları.

IP kamerası ve RTSP ayarlarından yakala

Video akışı göndermek için cihazımda belirli bir SDK kullanmam gerekiyor mu?

Hayır, IoT Edge canlı video analizi, video akışı için, çoğu IP kamerada desteklenen RTSP (gerçek zamanlı akış protokolü) kullanarak medya yakalamayı destekler.

Real-Time Mesajlaşma Protokolü (RTMP) veya Kesintisiz Akış Protokolü (Media Services Canlı Etkinlik gibi) kullanarak Canlı Video Analizi'a IoT Edge'a medya Media Services olabilir miyim?

Hayır, Canlı Video Analizi IP kameralarından video yakalamak için yalnızca RTSP'yi destekler. TCP/HTTP üzerinden RTSP akışını destekleyen tüm kameraların çalışması gerekir.

Graf örneğinde RTSP kaynak URL'sini sıfırlar veya güncelleştir miyim?

Evet, graf örneği etkin durumda değilken.

Bir RTSP simülatörü test ve geliştirme sırasında kullanılabilir mi?

Evet, öğrenme sürecini desteklemek için hızlı başlangıçlarda ve öğreticilerde bir RTSP simülatörü uç modülü kullanılabilir. Bu modül en iyi çabayla sağlanır ve her zaman kullanılabilir durumda değildir. Simülatörü birkaç saat boyunca kullanmamanizi kesinlikle öneririz. Üretim dağıtımını planlamadan önce gerçek RTSP kaynağınız ile teste yatırım yapacaktır.

Uçta IP kameraları için ONVIF bulmayı destekliyor musunuz?

Hayır, uç cihazlarda Açık Ağ Video Arabirimi Forumu (ONVIF) keşfini desteklemez.

Akış ve kayıttan yürütme

HLS veya DASH gibi akış Azure Media Services uçta yer alan varlıklara kaydedilmiş varlıkları kayıttan oynatarak kayıttan oynatarak kayıttan 300 ABD'ye kadar kayıttan 2019'a kadar kayıttan 2018'e kadar kayıttan 2014'e kadar olan varlıkları kayıttan oynatarak 2.

Evet. Kayıtlı varlıkların akışını, diğer varlıklar gibi Azure Media Services. İçeriğin akışını yapmak için ve çalışma durumuna sahip bir akış uç noktasının oluşturulmuş olması gerekir. Standart Akış Bulucu oluşturma işlemini kullanarak, herhangi bir uyumlu oynatıcı çerçevesine akış için bir Apple HTTP Canlı Akışı (HLS) veya HTTP üzerinden Dinamik Uyarlamalı Akış (DASH, MPEG-DASH olarak da bilinir) bildirimine erişebilirsiniz. HLS veya DASH bildirimleri oluşturma ve yayımlama hakkında daha fazla bilgi için bkz. dinamik paketleme.

Arşivlenmiş bir varlıkta yer alan bir varlığın standart içerik korumasını Media Services DRM özelliklerini kullanabilir miyim?

Evet. Tüm standart dinamik şifreleme içerik koruması ve dijital hak yönetimi (DRM) özellikleri, bir medya grafiğinden kaydedilen varlıklarda kullanılabilir.

Kayıtlı varlıkların içeriğini görüntülemek için hangi oyuncuları kullanabilirim?

Uyumlu HLS sürüm 3 veya sürüm 4 ' ü destekleyen tüm standart oyuncular desteklenir. Ayrıca, uyumlu MPEG-DASH kayıttan yürütme yeteneğine sahip olan her oyuncu de desteklenir.

Test için önerilen oyuncular şunlardır:

Medya grafiği varlığı akışı için sınırlamalar nelerdir?

Bir medya grafiğinden canlı veya kayıtlı bir varlık akışı, medya & eğlence için isteğe bağlı ve canlı akış için desteklenen Media Services yüksek ölçekli altyapıyı ve akış uç noktasını kullanır, en üst (OTT) ve yayın müşterileri. Bu, senaryonuza bağlı olarak Azure Content Delivery Network, Verizon veya Akamai ' yi hızla ve kolayca etkinleştirebilmeniz anlamına gelir.

Apple HLS veya MPEG-DASH kullanarak içerik teslim edebilirsiniz.

AI modelinizi tasarlama

Bir Docker kapsayıcısında Sarmalanan birden çok AI modeli var. Bunları canlı video analiziyle nasıl kullanmalıyım?

Çözümler, canlı video analiziyle iletişim kurmak için ınlebilme sunucusu tarafından kullanılan iletişim protokolüne bağlı olarak farklılık gösterir. Aşağıdaki bölümlerde her protokolün nasıl çalıştığı açıklanır.

HTTP protokolünü kullanın:

  • Tek kapsayıcı (tek lvaExtension):

    Çıkarım sunucunuzda, farklı AI modelleri için tek bir bağlantı noktası ancak farklı uç noktalar kullanabilirsiniz. Örneğin, bir Python örneği için burada gösterildiği gibi route model başına farklı s kullanabilirsiniz:

    @app.route('/score/face_detection', methods=['POST']) 
    … 
    Your code specific to face detection model… 
    
    @app.route('/score/vehicle_detection', methods=['POST']) 
    … 
    Your code specific to vehicle detection model 
    … 
    

    Daha sonra, Canlı Video Analizi örneğinizin dağıtımında, burada gösterildiği gibi her örnek için çıkarım sunucusu URL'sini ayarlayın:

    1. örnek: çıkarım sunucusu URL'si=http://lvaExtension:44000/score/face_detection
    2. örnek: çıkarım sunucusu URL'si=http://lvaExtension:44000/score/vehicle_detection

    Not

    Alternatif olarak, AI modellerinizi farklı bağlantı noktalarında ortaya çıkarabilirsiniz ve graf örneği esnetken bunları çağırabilirsiniz.

  • Birden çok kapsayıcı:

    Her kapsayıcı farklı bir adla dağıtılır. Daha önce, Canlı Video Analizi belge kümesinde lvaExtension adlı bir uzantının nasıl dağıtı olduğunu gösterdik. Artık her biri aynı HTTP arabirimine sahip iki farklı kapsayıcı geliştirebilirsiniz; bu da aynı uç noktasına sahip olduklarını /score gösterir. Bu iki kapsayıcıyı farklı adlarla dağıtın ve her ikisinin de farklı bağlantı noktalarında dinlediğini onaylar.

    Örneğin adlı kapsayıcılardan biri bağlantı noktasını, adlı ikinci kapsayıcı ise lvaExtension1 44000 bağlantı noktasını lvaExtension2 44001 dinler.

    Örnek Canlı Video Analizi, burada gösterildiği gibi farklı çıkarım URL'leri olan iki grafik örneği hazırlarsınız:

    İlk örnek: çıkarım sunucusu URL'si = http://lvaExtension1:44001/score
    İkinci örnek: çıkarım sunucusu URL'si = http://lvaExtension2:44001/score

gRPC protokolünü kullanın:

  • Canlı Video Analizi modülü 1.0'da, genel amaçlı bir uzaktan yordam çağrısı (gRPC) protokolü kullanırsanız, bunu tek yol gRPC sunucusunun farklı bağlantı noktaları üzerinden farklı AI modellerini ortaya çıkartır. Bu kod örneğindetek bir bağlantı noktası olan 44000 tüm yolo modellerini gösterir. Teoride yolo gRPC sunucusu, bazı modelleri 44000 ve diğerleri 45000 bağlantı noktası üzerinde göstermek için yeniden yazılabilir.

  • Modül Canlı Video Analizi 2.0 ile gRPC uzantı düğümüne yeni bir özellik eklenir. extensionConfiguration özelliği, gRPC sözleşmesinin bir parçası olarak kullanılan isteğe bağlı bir dizedir. Tek bir çıkarım sunucusunda paketlenmiş birden çok AI modeliniz olduğunda, her AI modeli için bir düğümü açığa çıkarmaya gerek yok. Bunun yerine, bir grafik örneği için uzantı sağlayıcısı olarak extensionConfiguration özelliğini kullanarak farklı AI modellerini nasıl seçebilirsiniz? Yürütme sırasında Canlı Video Analizi dizeyi çıkarım sunucusuna iletir ve istenen AI modelini çağırmak için bu dizeyi kullanabilir.

Bir AI modeli çevresinde bir gRPC sunucusu inşa ediyorum ve birden çok kamera veya graf örneği tarafından kullanımını desteklemek istiyorum. Sunucuyu nasıl derlemem gerekir?

İlk olarak, sunucunuzda aynı anda birden fazla isteği işleyene veya paralel iş parçacıklarında çalışa olduğundan emin olun.

Örneğin, aşağıdaki gRPC örneğinde varsayılan sayıda paralel Canlı Video Analizi ayarlanmıştır:

server = grpc.server(futures.ThreadPoolExecutor(max_workers=3)) 

Önceki gRPC sunucu örneğinde, sunucu kamera başına veya graf topolojisi örneği başına aynı anda yalnızca üç kanal açabilir. Sunucuya üçten fazla örnek bağlamayı deneme. Üçten fazla kanal açmaya çalışsanız, mevcut kanal düşene kadar istekler beklemede olur.

Yukarıdaki gRPC sunucu uygulaması, Python örneklerimize kullanılmıştır. Geliştirici olarak, kendi sunucularınızı uygulayabilir veya önceki varsayılan uygulamayla çalışan sayısını artırabilirsiniz. Bunu video akışları için kullanmak üzere kamera sayısına ayarlarsınız.

Birden çok kamera ayarlamak ve kullanmak için, her biri aynı veya farklı bir çıkarım sunucusuna işaret edecek (örneğin, önceki paragrafta bahsedilen sunucu) birden çok graf topolojisi örneği örneği oluşturabilirsiniz.

Çıkarım yapma kararı almadan önce yukarı akıştan birden çok kare almak istiyorum. Bunu nasıl etkinleştirim?

Geçerli varsayılan örneklerimiz durumsuz modda çalışır. Önceki çağrıların veya kimin çağıranların durumunu tutmaz. Bu, birden çok topoloji örneğinin aynı çıkarım sunucusunu çağır olabileceği, ancak sunucunun çağıranları veya çağıran başına durumu ayırt etmeyy olabileceği anlamına gelir.

HTTP protokolünü kullanın:

Her çağıranın veya graf topolojisi örneğinin durumunu tutmak için, çağıranın benzersiz olduğu HTTP sorgu parametresini kullanarak çıkarım sunucusunu arar. Örneğin, her örnek için çıkarım sunucusu URL adresleri burada gösterilir:

  1. topoloji örneği= http://lvaExtension:44000/score?id=1
  2. topoloji örneği= http://lvaExtension:44000/score?id=2

Sunucu tarafında puan yolu kimin çağıran olduğunu bilir. ID=1 ise, bu çağıranın veya graf topolojisi örneğinin durumunu ayrı ayrı tutabilirsiniz. Daha sonra alınan video karelerini bir arabellekte tutebilirsiniz. Örneğin, bir dizi veya DateTime anahtarına sahip bir sözlük kullanın; değer çerçevedir. Daha sonra x sayıda kare alındıktan sonra işlanacak sunucuyu tanımlayabilirsiniz (çıkarım).

gRPC protokolünü kullanın:

gRPC uzantısıyla her oturum tek bir kamera akışına göre yapılır, bu nedenle kimlik sağlamak zorunda olmaz. Şimdi extensionConfiguration özelliğiyle video karelerini bir arabellekte depolayarak x kare sayısı alındıktan sonra işlanacak sunucuyu tanımlayabilirsiniz (çıkarım).

Belirli bir kapsayıcıda yer alan tüm ProcessMediaStreams aynı AI modelini mi çalıştırıyor?

Hayır. Graf örneğinde son kullanıcıdan gelen çağrıları başlatma veya durdurma, bir oturum oluştursa da bir kamera bağlantısının kesilmesi veya yeniden bağlanması olabilir. Amaç, kamera video akışında bulunuyorsa bir oturumu kalıcı yapmaktır.

  • İşlenmek üzere video Gönderen iki kamera iki oturum oluşturur.
  • İki gRPC uzantısı düğümü olan bir grafiğe giden bir kamera iki oturum oluşturur.

Her oturum, canlı video analizi ve gRPC sunucusu arasında tam çift yönlü bir bağlantıdır ve her bir oturumun farklı bir modeli veya işlem hattı olabilir.

Not

Kameranın bağlantısının kesilmesi veya yeniden bağlanmasına yönelik olarak, kamera tolerans sınırlarının ötesinde bir dönemde çevrimdışı olduğunda, canlı video analizi gRPC sunucusuyla yeni bir oturum açar. Sunucunun bu oturumlardaki durumu izlemesini sağlamak için gerekli değildir.

Canlı video analizi, bir grafik örneğindeki tek bir kamera için birden çok gRPC uzantısı desteği de sağlar. Bu gRPC uzantılarını, hem paralel olarak hem de her ikisinin bir birleşimi olarak Birleşik bir şekilde yürütmek için kullanabilirsiniz.

Not

Paralel olarak birden çok uzantı çalıştırmak, donanım kaynaklarınızı etkiler. Hesaplama gereksinimlerinize uyan donanımları seçerken bunu göz önünde bulundurun.

Eşzamanlı ProcessMediaStreams sayısı üst sınırı nedir?

Canlı video analizi bu numaraya hiçbir sınır uygulanmaz.

Inverimin, CPU veya GPU mı yoksa başka bir donanım hızlandırıcımı kullanması gerektiğine nasıl karar veririm?

Kararınız, Geliştirilmiş AI modelinin karmaşıklığına ve CPU ve donanım hızlandırıcılarını nasıl kullanmak istediğinize bağlıdır. AI modelini geliştirirken, modelin kullanması gereken kaynakları ve hangi eylemlerin gerçekleştirileceğini belirtebilirsiniz.

Nasıl yaparım?, sınırlama kutuları ile görüntü işleme sonrası mi?

Bugün, yalnızca çıkarım iletileri olarak sınırlama kutusu koordinatları sunuyoruz. Bu iletileri kullanan ve video çerçevelerinde sınırlayıcı kutuları kaplayan özel bir MJPEG streammer oluşturabilirsiniz.

gRPC uyumluluğu

Medya akışı tanımlayıcısı için zorunlu alanların ne olduğunu nasıl anlarım?

Değer sağlamayan herhangi bir alana , gRPC tarafından belirtilen şekilde varsayılan bir değerverilir.

Canlı video analizi, protokol arabelleği dilinin proto3 sürümünü kullanır. Canlı video analizi sözleşmeleri tarafından kullanılan tüm protokol arabelleği verileri protokol arabelleği dosyalarındakullanılabilir.

En son protokol arabelleği dosyalarını kullandığımı nasıl sağlayabilirsiniz?

En son protokol arabelleği dosyalarını, sözleşme dosyaları sitesindeedinebilirsiniz. Sözleşme dosyalarını her güncelleştirtiğimiz zaman, bu konumda yer alırlar. Protokol dosyalarını güncelleştirmeye yönelik bir plan yoktur, bu nedenle sürümü bilmek için dosyaların en üstündeki paket adını arayın. Şunu okumalı:

microsoft.azure.media.live_video_analytics.extensibility.grpc.v1 

Bu dosyalardaki tüm güncelleştirmeler, adın sonundaki "v-value" değerini artırır.

Not

Canlı video analizi dilin proto3 sürümünü kullandığından, alanlar isteğe bağlıdır ve sürüm geri ve ileri uyumlu olur.

Live video Analytics ile kullanmak için hangi gRPC özellikleri kullanılabilir? Hangi özellikler zorunludur ve isteğe bağlıdır?

Protokol arabellekleri (Protobellek) sözleşmesinin yerine getirilmesi durumunda herhangi bir sunucu tarafı gRPC özelliğini kullanabilirsiniz.

İzleme ve ölçümler

Azure Event Grid kullanarak kenar üzerinde medya grafiğini izleyebilir miyim?

Evet. Prometheus ölçümlerini kullanabilir ve bunları olay kılavuzunuzda yayımlayabilirsiniz.

Bulutta veya kenarda medya grafiklerimin sistem durumunu, ölçümlerini ve performansını görüntülemek için Azure Izleyicisini kullanabilir miyim?

Evet, bu yaklaşımı destekliyoruz. Daha fazla bilgi için bkz. Azure Izleyici ölçümlerine genel bakış.

Media Services IoT Edge modülünü izlemeyi kolaylaştırmak için herhangi bir araç var mı?

Visual Studio Code, LVAEdge modül uç noktalarını kolayca izleyebilmeniz için Azure IoT araçları uzantısını destekler. Bu aracı, IoT Hub 'ın yerleşik uç noktasını "olaylar" için izlemeye hızla başlamak ve uç cihazdan buluta yönlendirilen çıkarım iletilerini görüntülemek için kullanabilirsiniz.

Buna ek olarak, medya grafiği ayarlarını değiştirmek üzere LVAEdge modülünün modül ikizlerini düzenlemek için bu uzantıyı kullanabilirsiniz.

Daha fazla bilgi için izleme ve günlüğe kaydetme makalesine bakın.

Faturalama ve kullanılabilirlik

Fatura Canlı Video Analizi IoT Edge nedir?

Faturalama ayrıntıları için bkz. Media Services fiyatlandırması.

Sonraki adımlar

Hızlı Başlangıç: Kullanmaya başlayın Canlı Video Analizi ile IoT Edge