技術解説 ·

RTMPとは?すべてのライブ配信を支えるプロトコルをわかりやすく解説

RTMPとは?すべてのライブ配信を支えるプロトコルをわかりやすく解説

この記事のポイント

  • RTMP(Real-Time Messaging Protocol)は、映像や音声のデータを配信元からYouTubeなどのプラットフォームへ運ぶための接続形式です。
  • 「ストリームキー」は、実はRTMP URLに付け加えるパスワードのようなものです。2つを組み合わせることで、このデータがどのチャンネルの配信のものかをYouTubeに伝えます。
  • RTMPを使うのに、その仕組みを理解している必要はありません。ただ、何なのかを知っておくと、止まってしまった配信のトラブルシューティングがずっとわかりやすくなります。

YouTubeのストリームキーを探したことがあれば、そのすぐ隣にRTMPという言葉があったはずです。たいていは「RTMP URL」として、キーと一緒にOBSや他の配信ツールに貼り付けるよう案内されます。どちらも、意味はわからないままコピーして貼り付ける呪文のように扱ってしまいがちです。ここでは、それをやさしい言葉で説明します。

RTMPとは実際に何なのか

RTMPはReal-Time Messaging Protocolの略です。映像と音声のデータをまとめて、ある場所から別の場所へ、ごくわずかな遅延で途切れなく送り続ける方法で、まさにライブ配信に必要なものです。もともとはMacromedia(後のAdobe)がFlash動画のために作ったものですが、シンプルで信頼性が高く、YouTube、Twitch、Facebook Liveといった主要なプラットフォームがすべて今もインジェスト形式として受け付けているため、Flashそのものよりも長く使われ続けています。

ファイルのアップロードというよりも、電話のようなものだと考えてください。接続がつながると、どちらかが電話を切るまで、データは一方向に(エンコーダーからYouTubeのサーバーへ)流れ続けます。

ストリームキーの役割

RTMPの接続では、データの送り先を知るために2つのものが必要です。サーバーURL(rtmp://a.rtmp.youtube.com/live2のようなもの)と、ストリームキーです。ストリームキーは長くて固有の文字列で、実質的にはどのチャンネルの配信かを識別するパスワードです。YouTubeはストリームキーを使って映像を正しい場所に届け、YouTubeアカウントを連携している場合は、設定した特定の配信に届けます。

ストリームキーが機密情報である理由はここにあります。キーを持っている人なら誰でも、あなたのチャンネルのライブ配信枠に配信できてしまうのです。また、サービスが保存後のストリームキーを二度と表示せず、新しいキーへの置き換えしかできないようにするべきなのも、これが理由です。

プラットフォームごとにサーバーURLは異なり、キーが置かれているメニューも違います。無料のRTMPサーバーURL検索ツールでは、YouTube、Twitch、Facebookなどについて、インジェストURL、ストリームキーの場所、推奨設定を確認できます。

RTMPの段階で配信が失敗する理由

「配信が始まらない」問題のほとんどは、RTMPの段階で起きるいくつかの原因にたどり着きます。

  • ストリームキーが間違っている、または無効になっている。 配信の設定をリセットするとYouTubeは新しいキーを発行するので、保存しておいた古いキーではどこにもつながりません。
  • ネットワークが不安定。 RTMPは接続をずっと開いたままにします。接続が不安定だとエンコーダーが再接続を繰り返し、YouTube上では配信が開始と停止を繰り返しているように見えます。
  • エンコーダーの設定が合っていない。 ビットレート、解像度、キーフレーム間隔の設定が、YouTubeがインジェストで想定しているものと合っていないと、接続は受け付けられても映像がいつまでもライブとして表示されないことがあります。無料の配信ビットレート計算ツールでは、YouTube、Twitch、Facebook、Kickの解像度ごとの推奨設定を確認できます。

Loopcastのようなクラウド型の配信サービスなら、送信側で起こるこうした失敗の原因のほとんどを取り除けます。接続は自宅のネット回線ではなく安定したサーバーインフラから行われ、映像はRTMPで送り出される前にあらかじめ一定の形式にそろえられているので、配信の途中でエンコーダー設定の不一致が起きることはありません。

同じプロトコルが複数のプラットフォームで使える理由

RTMPはYouTubeが作って所有しているものではなく、共通の規格です。そのため、上で説明したサーバーURLとストリームキーの組み合わせは、Twitch、Facebook Live、Kickでもまったく同じで、違うのは実際のアドレスとキーだけです。Loopcastの手動ストリームキー欄がYouTube以外にも向けられるようになったのも、まさにそれが理由です。中継の仕組みそのものは、RTMP接続の向こう側にどのプラットフォームがあるかを気にしたことはなく、固定された配信先ではなく設定可能な配信先が必要だっただけなのです。例外はInstagramとTikTokです。他のプラットフォームのように誰でも使えるRTMP URLとキーを公開していないため、プロトコル自体は問題なく動くとしても、貼り付けるものがありません。

配信するのに、これを知っておく必要はある?

ありません。これはあくまで知っておくと役立つ背景知識です。一度設定してしまえば、RTMPのことを二度と考えずに24時間YouTube配信を何年も続けられます。役に立つのはたった一度、何かが壊れて、原因がストリームキーなのか、接続なのか、エンコーダーの設定なのかを突き止めようとするときです。

よくある質問

RTMPは安全ですか?

標準のRTMPは暗号化されていませんが、ほとんどのプラットフォーム(YouTubeを含む)は、実際のインジェスト接続に暗号化版であるRTMPSに対応しています。いずれにしても、本当のセキュリティの境界線はストリームキーそのものです。誰にも知られないようにしてください。

同じストリームキーを、2つの配信ツールで同時に使えますか?

いいえ。ストリームキーが一度にデータを受け取れるのは、1つの配信元からだけです。2か所で同時に使うと、片方の接続が失敗するか、配信が2つの配信元の間で切り替わってちらつきます。

YouTube Studioで確認するたびに、ストリームキーが違って見えるのはなぜですか?

ライブ配信の設定をリセットした場合や、キーが漏えいした可能性があると判断された場合、YouTubeは新しいストリームキーを発行することがあります。キーが思いがけず変わっていたら、YouTube Studio →「ライブ配信を開始」→「ストリーム」から現在のキーをコピーし、キーを保存しているすべての場所に貼り付け直してください。

どのプラットフォームでも、まったく同じRTMP URLを使いますか?

いいえ。どれも同じRTMPプロトコルを使っていますが、インジェストのアドレスはプラットフォームごとに異なります(YouTubeはrtmp://a.rtmp.youtube.com/live2、Twitchはrtmp://live.twitch.tv/appなど)。そのため、あるプラットフォームのストリームキーを別のプラットフォームのURLに貼り付けても意味がありません。プロトコルは同じでも、アドレスとキーはどちらもプラットフォームごとに固有だからです。