Check! Microsoft Teams Live event に OBS からストリーミングする

Prologue

Kazumi IWANAGA (OHIRA)
7 min readJul 17, 2020

とあるニーズの検証で、Microsoft Teams の Live event でカメラ画像を 1080p で配信できるかを試しました。通常、Live event を Teams を使って配信すると最大解像度が 720p であることがわかり、それだと小さめの文字がつぶれてしまってみにくいため、外部エンコーダとしてOBSでニーズを満たせるか試しました!

フィードがライブになると、サポートされる最大解像度は 720p になります。

なお、Live event 内で画面共有する場合は 1080p で配信できるそうです。

気付きポイント

  • Live event permissions が「People and groups」「Org-wide」のみ、外部エンコーダ(OBSなど)を利用できる
  • OBS のストリーミング設定では、Steam Key は任意の文字列でよい

Live event を作成する

「Calendar」タブの「New meeting」の右の矢印を開き、「Live event」を選択します。

Calendarタブの右のボタンタブから Live event を選択する

「New live event」ウィンドウでタイトルや開催時刻などを入力し「Next」ボタンをクリックします。

「Live event permissions」で、「People and groups」または「Org-wide」を選択する。(「Public」では、外部エンコーダは利用できません。)

「How will you produce your live event?」で、「An external app or device」を選択し、「Schedule」ボタンをクリックして、Live event を作成します。

permissions を選択し、An external app or device を選択する

ストリーミングを準備する

作成した Live event に Join します。

プロデューサーの画面で、Source settings が開かれるので、「Secure connection (SSL)」を「ON」に変更し、「Server ingest URL」をコピーします。

「Start setup」ボタンをクリックすることで、サーバーへの接続を解放します。

Server ingest URL をコピーする

OBSでの設定

OBSの「Settings」>「Stream」タブを開き、下記を設定します。

  • 「Service」で「Custom…」を選択する
  • 「Server」に、上記でコピーした Sever ingest URL を設定する
  • 「Stream Key」は任意の文字列を入力する(例 123456 など)
OBS Settings の Stream タブ

「Output」タブを開き、「Output Mode」を Advancedに変更し、「Steaming」タブで下記を設定します。

  • 「Encorder」: H.264
  • 「Profile」: high
  • 「Keyframe Interval」: 2
  • 「Rate Control」: CBR
  • 「Bitrate」: 5000 kbps 以下の値
OBS Settings の Output の Streaming タブ

「Video」タブを開き、下図を参考に設定して下さい。なお、今回は 1080p で配信したいニーズのためこのように指定していますが、推奨値は 720p です。(下記ドキュメント参照)

なお、「FPS」は 30 でも十分ニーズを満たしました。 60 も試しましたが、わたしのマシンが非力なせいか、スムーズに配信できませんでした。(下記ドキュメントによると 30 が推奨)

Audioは、必要に応じて設定してください。推奨値は下記ドキュメント参照。

ここでの設定は、下記を参考にしました。

配信する

諸々の設定が完了したら、OBSで「Start Streaming」ボタンでストリーミングを開始します。

この時点で、Teams(実態は Microsoft Stream)にストリーミングデータが送信され始めます。

問題なければ、Microsoft Teams のプロデューサー画面の「Start event」ボタンをでストリーミングを開始してください。

配信を停止する

Microsoft Teams のプロデューサー画面で「End event」ボタンを押下し、ストリーミング配信を終了します。

OBSで「Stop streaming」ボタンでストリームデータの送信を終了します。

Epilogue

実は、今回のニーズは Public で公開したいものなので、上記は利用できませんでした。ですが、画像の品質的には良い効果を得られたと思うので、組織内の配信であれば活用できると思います 💡

配信に関しては素人なので、各機器、各入力、出力の解像度など調べることで、とても勉強になりました!普段の開発作業とは一味違ったテックですが、これもまた面白く、またノウハウあれば供したいと思います。

--

--

Kazumi IWANAGA (OHIRA)

Hello! :) I’m a developer, Microsoft MVP(Azure). My interests: Azure, Serverless, IaC, Container, IoT, and other many exciting things!