Требования и соображения к медийным ботам с хостингом приложений

Для доступа к аудио- и видеотеке медиа-боту, размещенного в приложении, требуется Microsoft.Graph.Communications.Calls.Media библиотека .NET. Бот должен быть развернут на компьютере Windows Или гостевой операционной системе Windows Server в Azure.

Примечание

  • Рекомендации по разработке ботов обмена сообщениями и интерактивного голосового ответа (IVR) не полностью применимы к построению медиа-ботов, принимающих приложения.
  • Поскольку медиаплатформа Microsoft в режиме реального времени для ботов находится в предварительной версии разработчика, руководство в этом документе подлежит изменению.

C# или .NET и Windows Server для разработки

Для медиа-бота с хостингом приложения требуется следующее:

  • Бот должен быть разработан в C# стандартном платформа .NET Framework и развернут в Microsoft Azure. Вы не можете использовать C++ или Node.js API для доступа к средствам массовой информации в режиме реального времени, и .NET Core не поддерживается для сетевого бота, на основе приложения.

  • Бот может быть организован в одной из следующих сред служб Azure:

    • Облачная служба.
    • Service Fabric с наборами масштабирования виртуальных машин (VMSS).
    • Инфраструктура как виртуальная машина службы (IaaS).
  • Бот не может быть развернут в качестве веб-приложения Azure.

  • Бот должен работать в последней версии Microsoft.Graph.Communications.Calls.Media библиотеки .NET. Бот должен использовать либо новую доступную версию пакета NuGet,либо версию, которая не превышает трех месяцев. Более старые версии библиотеки обесценяются и не работают через несколько месяцев. Постоянное ведение библиотеки обеспечивает лучшую возможность взаимодействия между ботом и Microsoft.Graph.Communications.Calls.Media Microsoft Teams.

В следующем разделе приводится подробная информация о расположении вызовов мультимедиа в режиме реального времени.

Вызовы мультимедиа в режиме реального времени остаются там, где они создаются

Вызовы мультимедиа в режиме реального времени остаются на компьютере, на котором они были созданы. Вызов мультимедиа в режиме реального времени прикрепяется к экземпляру виртуальной машины (VM), который принял или запустил вызов. Носителю из Microsoft Teams или собрания передается экземпляр VM, а также носителю, который бот отправляет обратно в Microsoft Teams, также должно исходить из этого VM. Если при прекращении работы VM в режиме реального времени в режиме реального времени вызовы средств массовой информации прекращаются, эти вызовы внезапно прекращаются. Если у бота есть предварительные сведения о ожидаемом закрытии VM, он может прекратить вызовы.

В следующем разделе приводится подробная информация о доступности медиа-ботов, на которые есть приложения.

Медиа-боты с хостингом приложений, доступные в Интернете

Медиа-боты, на которые есть приложения, должны быть доступны напрямую в Интернете. Эти боты должны включать следующие функции:

  • Каждый экземпляр VM, где размещен медиа-бот с размещением приложений в Azure, должен быть напрямую доступен из Интернета с помощью общедоступного IP-адреса на уровне экземпляра (ILPIP).
  • Служба, в которой размещен медиа-бот с размещением приложений, также должна настроить каждый экземпляр VM с общедоступным портом, который совмещаяся с конкретным экземпляром.
  • Поддерживаемые приложениями медиа-боты не поддерживаются Bot Framework Emulator.

В следующем разделе приводится подробная информация о масштабируемости и производительности медиа-ботов, на которые было организовано приложение.

Рекомендации по масштабируемости и производительности

Для медиа-ботов, на которые есть приложения, требуются следующие аспекты масштабируемости и производительности:

  • Для сетевых ботов, на которые есть приложения, требуется больше вычислительной и сетевой (пропускной способности), чем для ботов обмена сообщениями, что может привести к значительно более высоким эксплуатационным затратам. Разработчик медиа-бота в режиме реального времени должен тщательно измерить масштабируемость бота и убедиться, что он не принимает больше одновременных вызовов, чем он может управлять. Бот с поддержкой видео может поддерживать только одну или две одновечерные сеансы мультимедиа на ядро ЦП (при использовании "необработанных" форматов видео RGB24 или NV12).
  • В настоящее время медиаплатформа в режиме реального времени не может использовать любые блоки обработки графики (GPU), доступные в VM для загрузки кодирования и декодирования видео H.264. Вместо этого код видео и декодируются в программном обеспечении на ЦП. Если GPU доступен, бот может использовать его для собственной визуализации графики, например, если бот использует 3D-графический движок.
  • Экземпляр VM, на который размещен медиа-бот в режиме реального времени, должен иметь не менее 2 Ядер ЦП. Для Azure рекомендуется использовать виртуальную машину серии Dv2. Для других типов VM Azure требуется минимальный размер системы с четырьмя виртуальными процессорами (vCPU). Подробные сведения о типах VM Azure доступны в документации Azure.

Пример кода

Примеры медийных ботов, на которые организовано приложение, следуют следующим образом:

Название примера Описание Microsoft Graph
Пример локального мультимедиа Примеры, иллюстрирующие различные локальные сценарии мультимедиа. View
Пример удаленного мультимедиа Примеры, иллюстрирующие различные сценарии удаленного мультимедиа. View

Следующий этап

См. также

  • Graph Вызов документации по SDK
  • Боты требуют больше вычислительной и сетевой пропускной способности, чем боты обмена сообщениями, и понести значительно более высокие эксплуатационные затраты. Разработчик медиа-бота в режиме реального времени должен тщательно измерить масштабируемость бота и убедиться, что он не принимает больше одновременных вызовов, чем он может управлять. Бот с поддержкой видео может поддерживать только один или два одновечерных сеансов мультимедиа на ядро ЦП при использовании необработанных форматов видео RGB24 или NV12.
  • В настоящее время медиаплатформа в режиме реального времени не может использовать любые блоки обработки графики (GPU), доступные на VM для загрузки видео кодирования или декодирования H.264. Вместо этого код видео и декодируются в программном обеспечении на ЦП. Если GPU доступен, бот использует его для собственной визуализации графики, например, если бот использует 3D-графический движок.
  • Экземпляр VM, на который размещен медиа-бот в режиме реального времени, должен иметь не менее 2 Ядер ЦП. Для Azure рекомендуется использовать виртуальную машину серии Dv2. Для других типов VM Azure требуется минимальный размер системы с 4 виртуальными процессорами (vCPU). Дополнительные сведения о типах VM Azure см. в документации Azure.

В следующем разделе приводится пример, иллюстрирующие различные локальные сценарии мультимедиа.

Примеры и дополнительные ресурсы