次の方法で共有


アプリケーションでホストされるメディア ボットの要件と考察

アプリケーションでホストされるメディア ボットでは、オーディオおよびビデオ メディア ストリームにアクセスするにはMicrosoft.Graph.Communications.Calls.Media .NET ライブラリが必要です。 ボットは、オンプレミスのWindows Server コンピューターまたは Azure の Windows Server ゲスト オペレーティング システム (OS) にデプロイする必要があります。

注:

  • メッセージング ボットや対話型音声応答 (IVR) ボットの開発に関するガイダンスは、アプリケーションでホストされるメディア ボットの構築には完全には適用されません。
  • Microsoft Real-Time Media Platform for Bots は開発者向けプレビュー段階であるため、このドキュメントのガイダンスは変更される可能性があります。

開発用の C# または .NET および Windows Server

アプリケーションでホストされるメディア ボットには、次の要件があります。

  • ボットは、C# と標準の.NET Frameworkを使用して開発し、Microsoft Azure にデプロイする必要があります。 C++ または Node.js API を使用してリアルタイム メディアにアクセスすることはできません。 ただし、.NET Core はアプリケーションでホストされるメディア ボットでサポートされており、SDK では .NET 6.0 のサポートが提供されます。

  • このボットは、次のいずれかの Azure サービス環境内でホストできます。

    • クラウド サービス。
    • Virtual Machine Scale Sets (VMSS) を使用した Service Fabric。
    • サービスとしてのインフラストラクチャ (IaaS) 仮想マシン (VM)。
    • Azure Kubernetes Service (AKS)。
  • このボットは、Azure Web アプリとしてデプロイすることはできません。

  • このボットは、最新バージョンの Microsoft.Graph.Communications.Calls.Media .NET ライブラリで実行されている必要があります。 このボットは、使用可能な最新バージョンの NuGet パッケージか、3 か月以下のバージョンを使用する必要があります。 以前のバージョンのライブラリは非推奨となり、数か月後には機能しません。 Microsoft.Graph.Communications.Calls.Media ライブラリを最新の状態に保つことで、ボットと Microsoft Teams の間の最適な相互運用性を確保できます。

次のセクションでは、リアルタイム メディア呼び出しがどこに存在するかについて詳しく説明します。

リアルタイム メディア通話は、作成された場所に留まる

リアルタイム メディア呼び出しは、その呼び出しが作成されたコンピューターに留まります。 リアルタイム メディア呼び出しは、呼び出しを受け入れたか開始した仮想マシン (VM) インスタンスにピン留めされます。 Teams 通話または会議からのメディアは、その VM インスタンスにフローし、ボットが Teams に送信するメディアも、その VM から発信する必要があります。 その VM が停止されたときに処理中のリアルタイム メディア呼び出しがある場合、それらの呼び出しは突然終了します。 保留中の VM シャットダウンに関する予備知識をボットが持っている場合は、ボットが呼び出しを終了できます。

次のセクションでは、アプリケーションでホストされるメディア ボットのアクセシビリティについて詳しく説明します。

インターネット上でアクセス可能なアプリケーションでホストされるメディア ボット

アプリケーションでホストされるメディア ボットは、インターネット上で直接アクセスできる必要があります。 これらのボットには、次の機能が含まれている必要があります。

  • アプリケーションでホストされるメディア ボットを Azure でホストしている各 VM インスタンスには、インスタンス レベルのパブリック IP アドレス (ILPIP) を使用してインターネットから直接アクセスできる必要があります。
  • アプリケーションでホストされるメディア ボットをホストしているサービスでは、特定のインスタンスにマップされる公開ポートを使用して各 VM インスタンスを構成する必要もあります。
  • Bot Framework Emulatorでは、アプリケーションでホストされるメディア ボットはサポートされていません。

次のセクションでは、アプリケーションでホストされるメディア ボットのスケーラビリティとパフォーマンスに関する考慮事項について詳しく説明します。

スケーラビリティとパフォーマンスに関する検討事項

アプリケーションでホストされるメディア ボットには、次のスケーラビリティとパフォーマンスに関する考慮事項が必要です。

  • アプリケーションでホストされるメディア ボットでは、メッセージング ボットよりも多くのコンピューティングとネットワーク (帯域幅) 容量が必要であり、運用コストが高くなる可能性があります。 リアルタイム メディア ボット開発者は、ボットのスケーラビリティを慎重に測定し、ボットが管理できるよりも多くの同時呼び出しを受け入れないようにする必要があります。 ビデオ対応ボットでは、CPU コアあたり 1 つか 2 つの同時メディア セッションしか維持できない可能性があります ("RAW" RGB24 または NV12 ビデオ形式を使用している場合)。
  • リアルタイム メディア プラットフォームでは、VM で使用できるグラフィックス処理装置 (GPU) を利用して H.264 ビデオエンコード/デコードをオフロードすることはできません。 代わりに、ビデオのエンコードとデコードは、CPU 上のソフトウェアで行われます。 GPU が使用可能な場合、ボットは独自のグラフィックス レンダリングにその GPU を利用できます (ボットが 3D グラフィックス エンジンを使用している場合など)。
  • リアルタイム メディア ボットをホストする VM インスタンスには、少なくとも 2 つの CPU コアが必要です。 Azure の場合は、Dv2 シリーズの仮想マシンをお勧めします。 その他の Azure VM の種類では、4 つの仮想 CPU (vCPU) を備えたシステムが必要な最小サイズです。 Azure VM の種類の詳細については、Azure のドキュメントを参照してください。

ボットでサポートされているメディア形式

Microsoft Teams上のボットでは、オーディオとビデオのコンテンツに対して次のメディア形式のみがサポートされます。

フォーマット 詳細
Vorbis http://www.vorbis.com/
PCM_U8、PCM_S16LE、PCM_S32LE、PCM_F32LE、PCM_S16BE、PCM_S24BE、PCM_MULAW https://wiki.multimedia.cx/?title=PCM
Ogg http://www.vorbis.com/
Matroska https://matroska.org/
WAV https://en.wikipedia.org/wiki/WAV
AAC https://en.wikipedia.org/wiki/Advanced_Audio_Coding
H264 https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC
MP3 https://en.wikipedia.org/wiki/MP3
Opus http://opus-codec.org/
MP4 https://en.wikipedia.org/wiki/MPEG-4

コード サンプル

アプリケーションでホストされるメディア ボットのサンプルは次のとおりです。

サンプルの名前 説明 Graph
ローカル メディアのサンプル さまざまなローカル メディア シナリオを示すサンプル。 表示
リモート メディアのサンプル さまざまなリモート メディア シナリオを示すサンプル。 表示

関連項目