世の中にはYouTubeやTwitchなど多数の配信を行うためのサービスが存在しています。そうした配信サービスを誰でも運営できるようにするオープンソースソフトウェアが「Restreamer」です。自分でホストしているサイトで配信できるだけでなく、他の配信サービスへ再配信する機能もついている便利なソフトウェアとのことなので、実際に使って使用感を試してみました。
datarhei Restreamer – Restreamer
https://docs.datarhei.com/restreamer/
datarhei/restreamer: The Restreamer is a complete streaming server solution for self-hosting. It has a visually appealing user interface and no ongoing license costs. Upload your live stream to YouTube, Twitch, Facebook, Vimeo, or other streaming solutions like Wowza. Receive video data from OBS and publish it with the RTMP and SRT server.
https://github.com/datarhei/restreamer
RestreamerはDockerを利用して起動するため、下記のリンクから自分の環境に合った方法でDockerをインストールします。
Install Docker Engine | Docker Documentation
https://docs.docker.com/engine/install/
今回はDebianを利用するため、下記のコマンドを入力しました。
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Dockerがインストールできたら下記のコマンドでRestreamerを起動します。Docker内部ではサーバーがHTTP通信を8080番ポートで待ち受けており、HTTPS通信を8181番ポートで待ち受けているため、それぞれ通常の80番ポートと8181番ポートに転送しておきます。また、配信サービスにおいてはTCPの1935番と1936番ポート、そしてUDPの6000番ポートを利用するため、サーバーにファイアウォールなどが設定されている場合は通信できるように設定しておく必要があります。
sudo docker run -d --restart=always --name restreamer \
-v /opt/restreamer/config:/core/config \
-v /opt/restreamer/data:/core/data \
-p 80:8080 -p 443:8181 \
-p 1935:1935 -p 1936:1936 \
-p 6000:6000/udp \
datarhei/restreamer:latest
サーバーにアクセスすると、Restreamerのロゴが表示されました。管理パネルへのリンクが下に用意されているのでクリックします。
まずはアカウント登録を行う必要があります。希望のユーザー名とパスワードを入力し、「REGISTER USER」をクリック。
「NEXT: VIDEO SETUP」をクリックします。
サーバーへの映像信号の入力方法を決めます。今回はOBS Studioを利用するので「RTMP server」をクリック。
「ENABLE RTMP SERVER…」をクリックします。
今回はTLSを利用して安全な接続を行うので、「RTMP server」とともに「RTMPS server」にもチェックを入れます。追加の設定が必要なので「TLS/HTTPS」と書かれた部分をクリック。
セルフホスティングしている自分のドメイン名を入力し、SSL通信をするため「Let’s Encrypt certification」にチェックを入れてメールアドレスを入力します。この画面にHTTPやHTTPSのポートを変更する設定がありますが、これはあくまでもRestreamerが待ち受けるポートを決めるための設定です。今回のようにDockerの設定でポートを転送している場合は変更しなくてOK。
画面をスクロールし、「SAVE」をクリックします。
サーバーの再起動が必要と言われるので「RESTART」をクリック。
特に再起動に成功したかどうかの通知は来ませんが、コントロールパネルをクリックして操作できるようになっていたら再起動が成功している証です。左のタブの「RTMP」をクリックし、トークンの欄に適当な文字列を入力して「SAVE」をクリック。保存できたら右上の×ボタンで設定画面を閉じます。
配信の送信先が表示されるので、コピーします。
配信ソフトを開き、コピーしたURLを送信先に設定します。OBS Studioの場合だと設定の「配信」タブでサービス欄に「カスタム」を選択し、サーバーの部分にURLを貼り付ければOK。
Restreamerに戻って次に進もうとすると、配信が届いてないという警告が出て進めません。
配信ソフトで配信を開始します。
Restreamerで設定を続けられるようになりました。まずは配信の解像度を選択。今回はOBS Studioで設定したものがそのまま表示されており、その他の選択肢は存在しませんでした。「NEXT」をクリックします。
音声の設定画面になりますが、今回は何も変更せず「NEXT」をクリック。
配信のタイトルや説明、配信者情報を入力可能です。入力できたら「NEXT」をクリックします。
配信のライセンスを選択します。Creative Commonsのライセンスが一通りそろっており、さらに「ライセンス無し」という選択肢が用意されていました。ライセンスを決めたら「SAVE」をクリック。
配信の管理画面が開きます。「Player」の右側の鉛筆アイコンの編集ボタンをクリック。
このPlayerの設定画面に配信を見るためのURLが用意されています。「Player URL」をコピー。
別のウィンドウで開いてみると無事配信が表示されました。Restreamerの標準プレイヤーは画面全体を使って配信を表示するので、配信画面を配信中のPCで閲覧すると、配信に映った画面の中の配信に映った画面……のように無限ループが発生しました。下図の赤線の外側が本来のブラウザのUIです。画面を操作してから配信に表示されるまで20秒から30秒程度の遅延が発生していました。
また、配信の管理画面右上の「+」マークのボタンをクリックすると再配信の設定ができます。
再配信先にはFacebook LiveやYouTube Live、Twitter、Twitchなど大手配信サービスが登録されています。YouTube Liveへの接続設定を確認してみます。
YouTube Liveへの接続は「Stream key」を利用します。「GET」をクリック。
YouTubeの配信ダッシュボードが開くので、ここに記載されているストリームキーを使用すればOK。
また、再配信先として登録されていないサービスでも、適切なプロトコルを選択することであらゆる配信サービスへの再配信が可能となっていました。
なお、例えばTwitchは2023年6月時点で全てのユーザーを対象に同時配信を規制しているため、Restreamerという自分のサイトで配信しながら別のサイトでも配信できるアプリを利用すると即座に規約違反の状態になってしまいます。掲載されているサービスの中には「技術的には接続可能でも規約に違反」という場合があるため、再配信を行う際には自分で規約を確認する必要がある点には注意が必要です。
この記事のタイトルとURLをコピーする