ウェブサイト検索

自分のストリーミングラジオのためにLinuxにIcecastをインストールする


自分のストリーミングラジオ局をオンラインで自己ホスティングしたいですか?

自分や友達が楽しめるラジオ局を始めたいと思ったことはありませんか?アイスキャストを使えばできます。この記事では、シンプルなオンラインストリーミングラジオを作成します。

Icecastは、Xiph.org Foundationによって作成されたオープンソースのHTTP/標準ベースのライブメディアストリーミングサーバーです。小規模な家庭用ラジオやジュークボックスプロジェクトから、大規模な企業のインターネットラジオ局まで、幅広く使用されています。始めるために必要なのは、コンピュータと接続されたマイクロフォンだけです。IcecastはLinux/UnixとWindowsで利用可能です。Shoutcast、Snapcast、AzuraCastなどの類似プロジェクトも存在しますが、ここではDIYストリーミングラジオ局に最も適しており、簡単なセットアッププロセスを持つIcecastを使用します。

インターネットラジオ局を運営するためのライセンス要件は国によって異なります。著作権のある素材をストリーミングする予定がある場合は、著作権当局から適切なライセンスを取得する必要があり、またはすべての著作権者から明示的な許可を得る必要があります。特定の要件については、あなたの国の法律を確認してください。詳細については、インターネットラジオ放送に関するウィキペディアのページを参照してください。

Icecastのインストール

この記事では、あなたのディストリビューションのパッケージマネージャーを使用してIcecastをダウンロードできる方法を紹介します。

多くのソフトウェアプロジェクトと同様に、最新バージョンのIcecastを入手したい場合は、公式ウェブサイトから直接ソースをダウンロードしてビルドするか、公開されているGitリポジトリをクローンしてください。執筆時点ではバージョン2.5がほぼ完成しており、ウェブUIの完全な見直しを含む多くの新機能が追加されていますが、まだディストリビューションには含まれていません。

Debianベースのディストリビューションでは、aptを使用してicecast2パッケージをインストールします。

sudo apt install icecast2

Redhatディストリビューションの場合、icecastパッケージをインストールするにはdnfを使用します。

sudo dnf install icecast

初期設定

アイスキャストをインストールしました。次に何をしますか?Debianディストリビューションでは、設定を手助けするインストール後のスクリプトが実行されます。最初のダイアログでは、左矢印キーを押して「はい」を選択し、次にEnterキーを押してください。

プライベートラジオストリームを設定しているので、次のプロンプトで機械のLAN IPを入力します:

ソースクライアントは、メディアファイル(またはライブオーディオ)をサーバーにストリーミングするために使用するプログラムです。ソースパスワードは、ストリームを開始できるようにIcecastと認証します。デフォルト(「hackme」)ではなく、ユニークなパスワードを推奨します。例えば次のようなものです:

リレーは、リスナーの負荷を複数のサーバーに分散するための大規模なセットアップで有用です。ここではリレーを設定しないので、好きなように入力できます(ただし、再度言いますがデフォルトを変更することをお勧めします):

最後に、管理者ユーザーのパスワードを求められます。これを使用してIcecastのウェブインターフェースの管理セクションにアクセスします。デフォルトのパスワードをユニークなものに変更してください:

Redhatディストリビューションは、インストール後に単にコマンドプロンプトに戻ります。大したことではありません。設定ファイル「/etc/icecast.xml」で直接設定を行いましょう。お気に入りのテキストエディタを起動して、作業を始めましょう:

デフォルトの設定は、私たちのようなほとんどのシンプルなインストールに対してよく考えられています。Icecastの開発者は、できる限り変更を少なくし、必要に応じてその後で微調整するというベストプラクティスを推奨しています。

まず、デフォルトのパスワードを変更してください:

次に、bind-addressをサーバーのLAN IPアドレスに変更してください:

設定ファイルを保存し、その後、変更を反映させるためにIcecastを再起動してください:

稼働していることを確認しましょう:

sudo systemctl status icecast.service

素晴らしい!アイスキャストが立ち上がったので、ソースクライアントの作成を始めましょう。

ソースクライアントの選択

Icecastストリーミングには3つの主要なコンポーネントがあります: ソースクライアント、Icecastサーバー、リスナークライアントです。これらはすべて互いに独立しており、すべて(多くの場合)異なるマシンで動作します。ソースクライアントは、実際に音楽ファイルを再生したり、ライブオーディオをIcecastにストリーミングしたりするものです。Icecastは、そのストリームをHTTPプロトコルを介してリスナーに配信します。大体こういう感じになります:

あなたのセットアップに適したソースクライアントを選ぶことは、多くの要因に依存します。決定する際に考慮すべきいくつかの質問は以下の通りです:

  • 事前に録音された音声/音楽ファイルをストリーミングしますか?
  • マイクロフォンやミキシングコンソールからライブオーディオをストリーミングしますか?
  • デスクトップ/ラップトップまたはモバイルデバイス(またはその両方)から放送しますか?
  • オペレーティングシステムの制約や要件がありますか?

Icecastアプリページには、ソースクライアントの非包括的なリストがあります。

このチュートリアルでは、ダニエル・ノーテンによって作られた機能豊かで使いやすいソースクライアント「Broadcast Using This Tool」(略してBUTT)を使用します。このBUTTを使って、マイクからIcecastにライブストリーミングを行います。BUTTはLinux、macOS、Windowsで利用可能です。公式ダウンロードページから入手できます。

設定は非常に簡単です。メインウィンドウから「設定」ボタンを選択し、次に「メイン」タブの「サーバー設定」セクションで「追加」ボタンをクリックします。サーバーを設定するための新しいウィンドウがポップアップします。

このサーバーの設定用の名前を選択し(複数のサーバー設定がサポートされています)、"Icecast"ラジオボタンを選択します。IcecastサーバーのIPアドレスとポート(デフォルトのポートは8000)を入力し、ソースパスワードを設定します。"Icecast Mountpoint"には、最後に.OPUSを追加します(拡張子を追加することで、一部のリスナークライアントが使用されているコーデックを判別しやすくなります)。"Icecast User"はsourceのままにして、"Use legacy Icecast protocol"のチェックは外します。"Add"をクリックし、次に親ウィンドウで"Save"をクリックします。

ここでのテストセットアップは、ポート8000で非TLS通信を使用しています。IcecastはSSL/TLS暗号化を完全にサポートしていますが、証明書を作成することはこのチュートリアルの範囲外です。プライベートなローカルネットワークの外からストリームを利用可能にすることを決定した場合は、TLSの使用を強くお勧めします。

では、音について話しましょう!F/OSSの精神に従って、私たちのストリームにはOpus(完全にオープンで、ロイヤリティフリーで、非常に多用途かつ広くサポートされているオーディオコーデックで、Xiph.orgによって作成されたもの)を使用します。

「設定」から「オーディオ」タブをクリックします。「サンプルレート」を48000Hz(Opusに必要)に設定し、「プライマリオーディオデバイス」がマイクが接続されている場所であることを確認し、「ストリーミングコーデック」をOpusに設定します:

最後に、「メイン」タブに戻り、「保存」をクリックしてください。

ここから「設定」ウィンドウを閉じることができます。準備ができたら「再生」ボタンをクリックしてください。これであなたのストリームが始まります。すべてが正しく設定されていれば、あなたのサーバーのラジオストリームデビューを果たすことになります!

クール! では、IcecastウェブUIに「http://LAN_IP:8000/admin/」でログインし、「admin」をユーザー名として、設定されたIcecast管理者パスワードを入力しましょう:

管理者メインページから「マウントポイントリスト」を選択します:

「M3U」のハイパーリンクをコピーします:

このリンクは、.M3U拡張子を除いたもので、ウェブブラウザで聞くために使用します。

リスナー クライアントの選択

リスナーのクライアントは一般的に非常に少ない設定を必要とします。HTML5オーディオのおかげで、ウェブブラウザを新しいストリームURLに向けるだけで済みます。以下は、ブラウザがサポートするHTML5オーディオエンコーディング形式のリストです。

ウェブブラウザを使用して、上にコピーしたストリームURLをアドレスバーに貼り付けて(再度、.M3U拡張子を削除して)Enterを押してください。

あなたのストリームが聞こえますか?それはアイスキャストが働いている証です。

追加設定

Icecastには多くの高度な機能があります。そのいくつかは次のとおりです:

  • 1つのサーバー上での複数の同時ストリーム
  • プログラムでリスナーをマウントポイント間で移動できる「フォールバック」システム
  • リレー機能、複数のサーバーにあなたのストリームを配信すること
  • 「URL認証」、専用サーバー/データベースに対してユーザーを認証すること(v2.5+)
  • 組み込みのchroot機能
  • Icecast YPディレクトリにストリームを公開する
  • Shoutcast互換モード

これらの機能やその他のことは、公式のIcecast文書で非常によく説明されています。

ポートフォワーディングを使用して、ローカルネットワークの外からストリームにアクセスすることもできます。

あなたの駅を宣伝する

プロモーションは、作成するステーションの種類に大きく依存します。もしそれがただの楽しみのためなら、良い友達に伝えるだけで十分です!もっと広く知られたいなら、Icecastディレクトリに登録し、それに基づいた質の高いウェブサイトを作成し、ソーシャルメディアで包括的なマーケティングキャンペーンを実行することが、オンラインで注目を集める確実な方法です。

最初のストリーミングラジオ局を作るときにあなたに伝えたい最も重要な情報は、楽しむことです!その結果は非常にやりがいがあり、あなたが永遠に大切にすることになる素晴らしい瞬間でいっぱいです。

関連記事: