私たちがTwitchとYouTubeで24時間365日配信する方法

案内者:
Topic 教会と技術 (7 / 7)

まだご覧になっていない場合は、私たちの聖書クラスをYouTubeTwitchで24時間365日配信しています。このガイドでは、私たちが技術的にどのようにこれを実現しているかをお見せします。

基本的な答え

私たちはDigital OceanのドロップレットでFFmpegのプレイリストを使用しています。これがご希望の方法でない場合は、今すぐ中止できます。


このガイドは非常に技術的で、私が私たちの教材でこれを達成した方法に特化しています。いくつかの要素はあなたの環境には適用できないかもしれませんが、何らかの指針を提供できることを願っています。

1. ドロップレットの設定

私たちはリモートサーバーを作成するためにDigital Oceanを使用していますが、スクリプトを実行しアプリをインストールするためのコマンドライン機能を提供し、24時間365日ストリーミングできる十分な月間データ転送量を含む他のプラットフォームでも同様の設定が可能です。

仕様は以下の通りです:

私は512MBのRAMと10GBのディスクを備えた最も低いレベルのDropletを使用でき、ビデオ用にボリュームストレージドライブをマウントしました。

2. あなたのビデオをアップロードする

マウントされたドライブ上、または一般的なホスティングプラットフォームを使用している場合は、videosフォルダーを作成し、動画を作業しやすいように整理してください。私たちの整理方法は次のとおりです:

すべてはスラッグと順序に基づいています。私たちのシリーズにはスラッグ(christianity-for-beginners)があり、それぞれのレッスンにはその前に項目の順序が付いたスラッグがあります。

これは私たちのデータがデータベースに保存される方法であり、プレイリストを生成するときやビデオの順序のどこにいるかを追跡するときに使用されます。

3. FFmpegを追加する

コマンドラインを開いて、すでにffmpegがインストールされているか確認してください:

ffmpeg -version

もしそうでなければ、Ubuntuのセットアップには次のコードを実行してください:

 sudo apt update
 sudo apt install ffmpeg

そこにあることを確認するために、もう一度バージョンチェックを実行できます。

4. プレイリストを作成する

FFmpegはプレイリストに基づいてビデオのリストを実行できます。作成してみましょう。私たちのシステムではファイル名をassets.txtとし、ルートフォルダに配置しています。非常に基本的なもので、次のような内容です:

私たちの全プレイリストは370本以上のビデオがあります! ご覧ください。

後ほどのFFmpeg関数では、FFmpegにループするよう指示します。つまり、最後のビデオに達すると最初に戻ります。したがって、スクリプトが何らかの理由でクラッシュしても、常にリストの最初に戻ります。

これはボーナスですが、常に最初に戻らないように、私はこのプレイリストをウェブサイトから動的に生成しています。もしクラッシュした場合、プレイリストのどの位置にいるかがわかり、その後プレイリストの順序を動的にリセットします。以下はそのプロセスの簡単な概要です。

私は動画の長さに基づいて、アイテムIDとその開始時間および終了時間をデータベースに読み込みます。これを数か月間事前に読み込んでから、更新を続けるために戻ってきます。別のスクリプトにこれを行わせることもできます。

ストリームを再開する前に、私たちのウェブサイトにpingを送り、新しい更新された順序でassets.txtを作成し、次のステップで表示されるリモートのDropletにダウンロードします。

5. スクリプトの作成

これからCronジョブで実行するbashスクリプトを作成します。こちらはスクリプトの図です。

スクリプトをテキストファイルとして表示: rerun.txt

{YOUR_STREAM_KEY} を実際のキーに必ず更新してください。また、Twitch のエンドポイントもサーバーの場所に近いものに更新できます。Twitch エンドポイントを見る

上記のスクリプトファイルをテキスト形式で確認して、私が決定した設定を見てください。オプションは非常に多く、FFmpegのドキュメントはかなり充実しています。上記のTwitchスクリプトの最後のようにエラーをログに記録して、何が問題だったのかを確認することができます。

6. スクリプトの実行

スクリプトを実行するために、これを処理するcronジョブを設定します。もしcronジョブに慣れていなければ、こちらのcronジョブに関する役立つガイドをご覧ください。

YouTubeの自動終了機能はデータが1分間送信されないとストリームを終了するようなので、これを頻繁に実行するのが最善だとわかり、以下のCronジョブで毎分スクリプトを実行することにしました。

 * * * * * ./rerun.sh

終了

私はプロセスのすべての側面を説明したわけではなく、いくつかの重要な技術的部分だけを取り上げました。どちらのプラットフォームでもライブストリームの設定を作成する知識が必要ですが、これは良い出発点となるはずです。

Xで私に連絡してください。ご質問や問題があればお知らせください。共有された状況に応じてこのガイドを更新します。

注意:このレッスンの書き起こしは電子的に作成されており、まだ校正されていません。
Topic 教会と技術 (7 / 7)