Freigeben über


Anforderungen und Überlegungen für anwendungsgehostete Medienbots

Ein von einer Anwendung gehosteter Medienbot benötigt die Microsoft.Graph.Communications.Calls.Media .NET-Bibliothek, um auf die Audio- und Videomedienströme zuzugreifen. Der Bot muss auf einem lokalen Windows Server-Computer oder einem Windows Server-Gastbetriebssystem (OS) in Azure bereitgestellt werden.

Hinweis

  • Die Anleitung zum Entwickeln von Bots für Nachrichten und interaktive Sprachantworten (Interactive Voice Response, IVR) gilt nicht vollumfänglich für das Erstellen von durch Anwendungen gehosteten Medienbots.
  • Da sich die Microsoft Real-time Media Platform für Bots in der Entwicklervorschau befindet, können sich die Anleitungen in diesem Dokument ändern.

C# oder .NET und Windows Server für die Entwicklung

Für einen anwendungsgehosteten Medienbot gelten die folgenden Anforderungen:

  • Der Bot muss mit C# und dem .NET Framework-Standard entwickelt und in Microsoft Azure bereitgestellt werden. Sie können keine C++- oder Node.js-APIs für den Zugriff auf Echtzeitmedien verwenden. .NET Core wird jedoch für einen von der Anwendung gehosteten Medienbot unterstützt, und das SDK bietet Unterstützung für .NET 6.0.

  • Der Bot kann in einer der folgenden Azure-Dienstumgebungen gehostet werden:

    • Cloud-Dienst.
    • Service Fabric mit Virtual Machine Scale Sets (VMSS).
    • Infrastructure as a Service (IaaS) Virtuelle Maschine (VM).
    • Azure Kubernetes Service (AKS).
  • Der Bot kann nicht als Azure-Webapp bereitgestellt werden.

  • Der Bot muss auf einer aktuellen Version der Microsoft.Graph.Communications.Calls.Media.NET-Bibliothek ausgeführt werden. Der Bot muss entweder die neueste verfügbare Version des NuGet-Pakets verwenden, oder eine Version, die nicht älter als drei Monate ist. Ältere Versionen der Bibliothek sind veraltet und funktionieren nach einigen Monaten nicht mehr. Die Aktualisierung der Microsoft.Graph.Communications.Calls.Media Bibliothek stellt die beste Interoperabilität zwischen dem Bot und Microsoft Teams sicher.

Der nächste Abschnitt enthält Einzelheiten darüber, wo sich Echtzeit-Medienaufrufe befinden.

Echtzeit-Medienanrufe bleiben dort, wo sie erstellt werden

Echtzeit-Medienanrufe bleiben auf dem Computer, auf dem sie erstellt wurden. Ein Echtzeit-Medienanruf wird an die Instanz der virtuellen Maschine (VM) angeheftet, die den Anruf angenommen oder gestartet hat. Medien aus einem Teams-Anruf oder einer Besprechung fließen an diese VM-Instanz, und Medien, die der Bot an Teams zurücksendet, müssen ebenfalls von dieser VM stammen. Wenn beim Stoppen der VM Echtzeit-Medienaufrufe ausgeführt werden, werden diese Aufrufe abrupt beendet. Wenn der Bot Vorkenntnisse über das bevorstehende Herunterfahren der VM hat, kann er die Anrufe beenden.

Der nächste Abschnitt enthält Details zur Zugänglichkeit von anwendungsgehosteten Medien-Bots.

Anwendungsgehostete Medien-Bots, auf die über das Internet zugegriffen werden kann

Von der Anwendung gehostete Medien-Bots müssen direkt im Internet zugänglich sein. Diese Bots müssen die folgenden Funktionen enthalten:

  • Auf jede VM-Instanz, die einen von der Anwendung gehosteten Medienbot in Azure hostet, muss direkt über das Internet mit einer öffentlichen IP-Adresse (ILPIP) auf Instanzebene zugegriffen werden können.

  • Der Dienst, der einen von einer Anwendung gehosteten Medienbot hostet, muss außerdem jede VM-Instanz mit einem öffentlich zugänglichen Port konfigurieren, welcher der jeweiligen Instanz zugeordnet ist.

  • Der Bot Framework-Emulator unterstützt keine anwendungsgehosteten Medienbots.

Der nächste Abschnitt enthält Details zu Skalierbarkeits- und Leistungsüberlegungen von anwendungsgehosteten Medien-Bots.

Überlegungen zu Skalierbarkeit und Leistung

Die von der Anwendung gehosteten Medien-Bots erfordern die folgenden Skalierbarkeits- und Leistungsüberlegungen:

  • Anwendungsgehostete Medienbots erfordern mehr Compute- und Netzwerkkapazität (Bandbreite) als Messaging-Bots und können höhere Betriebskosten verursachen. Ein Echtzeit-Media-Bot-Entwickler muss die Skalierbarkeit des Bots sorgfältig messen und sicherstellen, dass der Bot nicht mehr gleichzeitige Anrufe akzeptiert, als er bewältigen kann. Ein videofähiger Bot kann möglicherweise nur eine oder zwei gleichzeitige Mediensitzungen pro CPU-Kern aufrechterhalten (bei Verwendung der „rohen“ RGB24- oder NV12-Videoformate).
  • Die Echtzeitmedienplattform nutzt keine auf dem virtuellen Computer verfügbaren Gpus (Graphics Processing Units), um die H.264-Videocodierung/-decodierung auszuschalten. Stattdessen werden Videocodierung und -decodierung in Software auf der CPU durchgeführt. Wenn eine GPU verfügbar ist, kann der Bot diese zum Beispiel für sein eigenes Grafik-Rendering nutzen, wenn der Bot eine 3D-Grafik-Engine verwendet.
  • Die VM-Instanz, die den Echtzeit-Medienbot hostet, muss über mindestens zwei CPU-Kerne verfügen. Für Azure wird ein virtueller Computer der Dv2-Serie empfohlen. Für andere Azure-VM-Typen ist ein System mit vier virtuellen CPUs (vCPU) die erforderliche Mindestgröße. Ausführliche Informationen zu Azure-VM-Typen finden Sie in der Azure-Dokumentation.

Codebeispiel

Beispiele für von der Anwendung gehostete Medien-Bots lauten wie folgt:

Beispielname Beschreibung Graph
Lokale Medienprobe Beispiel, das verschiedene lokale Medienszenarien veranschaulicht. Anzeigen
Remote-Medienbeispiel Beispiel, das verschiedene Remotemedienszenarien veranschaulicht. View

Nächster Schritt

Siehe auch