同時配信サーバを作る(自前Restream.io)

RestreamでYoutubeとtwitchで同時配信してるけど、
twitchじゃなくてツイキャスで配信したいな~

Custom RTMPってやつでできるんだな!
使うのに$16かかるんか…

ということで、RTMPサーバーを建ててそこから各々のストリーミングサービスに配信していく、自前Restream.io環境を作りたいと思います。

対象となる人たち

  • 安く同時配信を行いたい(ツイキャス&Youtubeなど)
  • nginxを利用したHTTPサーバーを建てられる人

この記事で出来るようになること

  • サーバスペックの許す限り同時配信が可能になる

同時配信できるサーバを用意

本記事ではVPS(CentOS7)で説明していきます。

VPSならどこでもいいですが、サーバのある拠点が日本でないと遅延がひどくなります。

オススメはVultrです。メモリ1GB/約500円で借りられるのはここぐらいです。

事前準備

事前に必要となるライブラリなどインストールしていきます。

GCCコンパイラのインストール

のちに、nginx-rtmp-moduleをコンパイルする際に使います。

Gitのインストール

ポート開放

RTMPのポート(1935)を開放します。

nginxのインストール

yumでインストールしていきたいところですが、nginx-rtmp-moduleを利用するには、ソースからインストールする必要があります。

ソースからインストール

nginxの設定

nginxとnginx-rtmp-moduleのインストールができたところで、設定をしていきたいと思います。

push rtmp://●●●●● のところに配信サイトのRTMPのURLを載せていきます。

ここで配信したいサイトの設定をしていくんだね。

入力するURL
Twitchrtmp://live-tyo.twitch.tv/app/{stream_key}
Youtubertmp://a.rtmp.youtube.com/live2/{stream_key}
ツイキャスrtmp://rtmp03.twitcasting.tv/live?key=●●●/{stream_name}

RTMPのURLとストリームキーは大体スラッシュで結合するみたいです。

OBSの設定

サーバの設定が終わったところで、いよいよ配信ソフトの設定をしていきます。

今回は僕が普段使用しているOBSを使って説明していきたいと思います。

配信の設定

●●●●●●にサーバのIPアドレスを入れます。(ドメインを取得しているサーバならドメインを)

ストリームキーは不要です。ですので、サーバのRTMPURLが流出してしまうと、だれでも配信出来てしまうというリスクがございます。

本記事では紹介していませんが、nginx-rtmp-moduleのAllowという項目を利用すれば安心です。

動作確認

OBSで配信を開始して、各々のサイトに反映されたらOKです。

僕はTwitch, Youtube, ツイキャスで同時確認しようとしましたが、回線が貧弱なのでOBSの配信が途切れ途切れになってしまいました。。。

結果、配信できたのでrestream.ioで契約するより800円ぐらいお得になりました!(VPS代月500円)
しかも配信できるサイトは無制限!

配信サイト増やしても人こないから意味ないんだけどね…

参考文献