0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Linode でライブ配信基盤を構築してみる

Posted at

はじめに

独自のライブ配信サービスを立ち上げる際、まず考えなければいけないのはライブ配信基盤をどう構築するかです。
様々なサービスがありますが、月額や年額でのサブスクリプションが必要であったり、そもそも費用が高すぎる場合もあります。
Linode では無償で利用できるライブ配信ソフトウェアがマーケットプレイスで提供されています。
今回は Ant Media Server というソフトウェアを利用して実際にライブ配信をテストしたいと思います。
とても簡単に構築できるのでぜひ試してみてください。

Ant Media Server とは?

Ant Media Server は、WebRTC テクノロジを使用して超低遅延ストリーミングを提供するストリーミングエンジンソフトウェアです。
遅延が最大 0.5 秒、または HLS または CMAF を使用して超低遅延を実現します。Ant Media Server はスケーラブルで、オンプレミスまたは任意のクラウドプロバイダーで実行できます。
RTMP、WebRTC、または HLS を介して取り込むことができ、CMAF および HLS、WebRTC ライブストリーミングをサポートしています。
ます。
無償版の Community Edition と 有償版の Enterprise Edition があり、利用できる機能が異なります。

詳細は公式ページを確認してみてください。

今回のテスト構成

以下のような構成を利用しました。

Ant Media Server を立ち上げる

公式のガイドを元に構築を進めます。

Ant Media Server の要求スペック

要求スペックの下限は定義されていませんが、Linode 8GB が推奨されています。

Ant Media Server can be supported on any size Linode, but we suggest you deploy your Ant Media Server App on a Linode 8GB plan.

今回は Shared CPU の Linode 8GB で検証を進めます。

Marketplace の App を元に作成する

Ant Media Server はマーケットプレイスで提供されています。
今回は無償版である Ant Media Server: Community Edition を利用します。
マーケットプレイスから上記の App を選択し、必要情報を入力します。

ant-media-server_linode_marketplace.jpg

最低限のセキュリティ設定

root ユーザの SSH ログイン無効化やその他 SSH の設定は強固にしておきましょう。

Ant Media Server の初期設定

アカウント作成

サーバーが立ち上がったら以下のURLにアクセスします。

http://<server_ip>:5080

すると、以下のような初期設定画面が表示されます。

ant-media-server_create_account.jpg

必要事項を入力して Create Account をクリックします。
ログイン画面が表示されるので、作成したユーザー名とパスワードでログインします。

ant-media-server_login.jpg

ダッシュボードが表示されれば設定完了です。

ant-media-server_dashboard.jpg

(Optional) A レコードの登録

SSL 証明書発行のために Ant Media Server 用の A レコードを登録します。
ドメインをお持ちの方は、任意のサブドメインを作成し、A レコードに Ant Media Server の IP アドレスを設定してください。

(Optional) SSL 証明書の作成

こちらでは HTTP-01 チャレンジで Let's Encrypt 証明書を作成します。
コマンドを入力すると、必要なパッケージがインストールされ、自動で証明書作成が完了します。
your_domain には先ほど作成したドメイン名を入力します。

$ cd /usr/local/antmedia
$ sudo ./enable_ssh.sh -d <your_domain>
︙
# これが表示されればOK
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
︙

ライブ配信の設定

ライブ配信のためにストリームの設定を作成します。
デフォルトで LiveApp というアプリケーションが用意されているので、この配下で作成します。
まずは緑色のボタン New Live Stream をクリックします。

ant-media-server_applications_LiveApp.jpg

好きな名前を入力して Create をクリックします。
Stream Id は自動で生成されるので入力不要です。

ant-media-server_create_stream.jpg

入力した名前でストリームが作成されていれば完了です。
生成された Stream Id が Stream Name の下に表示されています。
この Stream Id はテスト時に利用します。

ant-media-server_confirm_stream.jpg

配信してみる

配信側

今回は配信ソフトとして OBS を利用しました。
特にこだわりはないですが、Big Bug Bunny をループ配信しています。

OBS の Stream 設定には以下のようなパラメーターを入力します。

設定項目 設定値
Service Custom... -
Server rtmp://<your_domain or your_ip>/LiveApp/ rtmp://live.example.com/LiveApp
Stream Key 先ほど生成された Stream Id 353253818719096651634096

obs_stream_configuration.jpg

Start Streaming をクリックしてライブ配信を開始します。

obs_start_streaming.jpg

OBS 側でエラーが発生していないことを確認してください。

Ant Media Server 側でもストリームがインジェストされているかどうか確認できます。

ダッシュボードで Active Live Streams が 1 になっていればOKです。

ant-media-server_stream_status.jpg

視聴側

Akamai のデモプレイヤーを利用してライブ配信を視聴します。

再生する URL は以下のようなフォーマットです。

HTTPS の場合
https://<your_domain or your_ip>:5443/LiveApp/streams/<Stream Id>.m3u8

HTTP の場合
http://<your_domain or your_ip>:5080/LiveApp/streams/<Stream Id>.m3u8

HTTP の場合はプレイヤーページにも HTTP でアクセスしてください。
http://players.akamai.com/players/hlsjs

再生 URL を指定して映像が流れればOKです。

akamai_player_testing.jpg

まとめ

今回は Ant Media Server を利用してライブ配信基盤を構築してみました。
30分ほどで構築でき、テストを合わせても1時間あれば十分でした。
Linode 8GB は一時間あたり $0.06 なので、無料クレジットの範囲で収まります。
ライブ配信を勉強したい、または商用利用に向けてテストしたい方はぜひこちらの手順で試してみてください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?