Ubuntu Weekly Recipe

第241回Mixxxで放送しよう!

今回は、第238回夏休み特別企画・MixxxでDJになろう!の続きになります。

結果はどうだったのか

夏休みが終われば待ち構えているのは課題提出です。初DJの結果というと……、用意していた曲で持ち時間を乗り切ったと思いきや、時間を余らせてしまい少しグダグダになりながらも、なんとか終了することができました!

ひとまずホッとしましたが、これからもDJをやるならこのままではいけません。練習しましょう。 一人で練習するのもいいのですが、やっぱり人が見ている(聞いている)前でやるのが上達の早道でしょう。

そこで第238回に続いて、MixxxとIcecast2を使ったストリーミング配信について紹介します。

ストリーミング配信の前に

ストリーミングで配信をするにあたり、使用する楽曲は著作権者が使用を許諾をしている楽曲のみを使用してください。

前回紹介したCreative Commonsライセンスでライセンスされている楽曲は、表示(CC BY)と表示-継承(CC BY-SA)ならソングリストを公開すれば問題なく使えます。しかしながら、非営利(NC)と改変禁止(ND)でライセンスされている楽曲については注意が必要です。

今回の場合に照らし合わせると営利目的の使用ではないため、表示-非営利(CC BY-NC)と表示-非営利-継承(CC BY-NC-SA)であれば問題ありません(もちろん表示の義務はあります⁠⁠。

表示-改変禁止(CC BY-ND)と表示-非営利-改変禁止(CC BY-NC-ND)については議論の分かれるところであり、つなぐ程度(曲をそのまま流してフェードイン/アウトの変更)であれば、技術的に必要な変更[1]の範囲内と解釈できなくもないのですが、無用なトラブルを避けるのであれば使用しないほうが無難でしょう。

もちろん、これらの曲であってもJamendoなどでは別途ライセンシングして販売していたりするのでそれを購入したり、個別に許諾を得たならば上記のような制限はなくなります。

Mixxxからストリーミング配信しよう

MixxxにはIcecast2/Shoutcastストリーミングサーバーへの配信機能が内蔵されています。しかし、実際に配信するにはサーバーが必要になります。UbuntuのリポジトリにはIcecast2があるので、この2つを使ってストリーミング配信してみましょう。

ストリーミングサーバー(Icecast2)の設定

まずストリーミングサーバーのIcecast2をインストールします。aptを使ってインストールします。

$ sudo apt-get install icecast2

インストールするとdebocnfからIcecast2の設定を尋ねられるので、次のように答えます。括弧内はデフォルトの設定です。

  • Configure Icecast2?(いいえ): はい
  • Icecast2 hostname(localhost): Icecast2のあるサーバー名を答えます
  • Icecast2 source password(hackme): MixxxからIcecast2に接続する際に使うパスワードを設定します
  • Icecast2 relay password(hackme): Icecast2でストリーミングをリレーする際に使うパスワードを設定します(今回は使用しないのでエンターキーを押すのみ)
  • Icecast2 administration password(hackme): Icecast2管理者パスワードを設定します

この設定は sudo dpkg-reconfigure icecast2を実行してやり直せるため、あまり深刻に考えなくても大丈夫です。そして、質問の最後で答えた管理者パスワードは、ブラウザでIcecast2管理画面に入る際に利用します。なお、管理画面には「http://Icecast2配信サーバー名:8000/admin/」でアクセスできます。

画像

ストリーミングに必要な最低限の設定は終わりました。上記以外の設定を変更する場合は、/usr/share/doc/icecast2/以下にあるドキュメントを参照して、テキストエディタを使って/etc/icecast2/icecast.xmlを編集します。

Mixxxの設定

Mixxx側のストリーミング配信設定をします。Mixxメニューの「オプション⁠⁠-⁠設定」から「ライブ放送」を開きます。

画像

「ライブ放送を有効にする」にチェックを入れて、次のように「サーバー接続」の設定をします。

  • タイプ: Icecast2
  • ホストアドレス: Icecast2があるサーバー名
  • ログイン名: source
  • マウントポイント: 適当に(スクリーンショットでは「mixxx⁠⁠)
  • ポート番号: 8000
  • パスワード: サーバーの設定で決めたsourceのパスワード

「ストリームの設定」にはストリーミングをおこなう内容を記述します。⁠エンコーディング」はビットレート、フォーマット、チャンネルを設定します。エンコーディングのフォーマットについてはMP3とOgg Vorbisの2つが選べますが、リポジトリのMixxxはMP3が無効になっているため、利用できるフォーマットはOgg Vorbisのみになります。

設定が終わればOKボタンを押します。しばらくして「shoutcastサーバーへの接続に成功しました。」とダイアログが表示されれば放送の準備は完了です。

放送を止めるときは、メニュー「オプション」「Enable live broadcasting」を選択するか、Ctrl+Lを押すことで可能です。

リスナー側の設定

サーバーと配信の設定ができたので、リスナー側の設定をしてストリーミングを聞いてみましょう。この時、DJしながら聞くことは難しいため、Auto DJで曲を流しっぱなしにしてチェックすると便利です。

聞き方ですが、Rhythmboxなどの大抵の音楽プレイヤーはインターネット・ラジオ局の再生メニューとしてIcecastのストリーミング再生機能を提供しています。音楽プレーヤのインターネット・ラジオ局登録メニューを開き(Rhythmboxでは「再生⁠⁠-⁠新しいインターネット・ラジオ局⁠⁠、Icecast2サーバーのアドレス「http://Icecast2配信サーバー名:8000/マウントポイント 」を登録して再生すると聞けます。

問題がなければ、あとは友人にストリーミングサーバーのアドレスを教えてMixxxをプレイしましょう!

ねとらじから配信する

ここからはMixxxとIcecast2のちょっとした小ネタを紹介します。

ねとらじというIcecast2を使ったインターネットラジオ配信サービスがありますが、Mixxxからねとらじに配信ができます。

配信設定は、ねとらじサーバー一覧を参考に、次のようにMixxxオプションの「ライブ放送」を設定します。

  • タイプ: Icecast2
  • ホストアドレス: std1.ladio.net
  • ログイン名: source
  • マウントポイント: 番組名に合わせて設定
  • ポート番号: ねとらじサーバー一覧の空いているポート
  • パスワード: ladio(現時点でのねとらじ配信パスワード)

ねとらじの仕様上UTF-8が使えないため、ストリーム名や番組の説明に日本語を使うと文字化けしますが、Icecast2を用意せずに配信できるのは便利でしょう。

Icecast2のリスナーへアクセス認証する

Icecast2にはユーザーID/パスワードによるリスナーのアクセス認証ができます。これを利用すると知っている人にだけにストリーミング配信ができます。

設定方法はまず、Icecast2の設定ファイル/etc/icecast2/icecast.xmlの123行目あたりに次のようなmountセクションを追加します。

<mount>
  <mount-name>/secret</mount-name>
  <authentication type="htpasswd">
    <option name="filename" value="/var/icecast2/myauth"/>
    <option name="allow_duplicate_users" value="0"/>
  </authentication>
</mount>

mount-nameはMixxxの設定にも出てきたマウントポイントの名前です。Mixxxから配信する際、ここに書かれたマウントポイントに接続するとアクセス認証ができるようになります。

authenticationセクションは、オプションが2つあります。filnameにはアクセス認証に使用するアカウント情報を保存するファイルを指定します。allow_duplicate_usersは複数ユーザーのアクセス許可で、valueに0を指定すると一つのアカウントで複数人のアクセスができます。1の場合は複数人のアクセスを許可しないため、人数分のアカウントを用意する必要があります。

filenameで指定したファイルにIcecast2がアカウント情報を保存できるようにディレクトリを作成し、Icecast2サーバーが書き込めるように所有者と所有グループを変更します。

$ sudo mkdir /var/icecast2
$ sudo chown icecast2:icecast /var/icecast2

設定が終了したので、Icecast2を再起動します。

$ sudo service icecast2 restart

続いてストリーミングを聞く際に必要となるユーザーIDとパスワードを作成します。

Mixxxオプションの「ライブ放送」で、Icecast2に追加したアクセス認証のマウントポイントを指定してIcecast2サーバーと接続します。

次にブラウザでIcecast2管理画面(http://Icecast2配信サーバー名:8000/admin/)にアクセスします。

画像

ブラウザ画面をスクロールさせると、次の図のように設定したマウントポイント(上の例ではsecret)の情報が表示されますので「Manage Authentication」をクリックします。

画像

ユーザーIDとパスワードの入力画面に移動したら、それぞれを設定し「Add New User」で登録して、Icecast2の設定は終了です。

リスナー側の設定としては、通常のストリーミングと同じように音楽プレーヤに配信サーバーアドレスを登録して再生すると、再生時にユーザーID/パスワードを尋ねられます。そこで設定したユーザーIDとパスワードを入力すると聞くことができます。

Rhythmboxなどの一部の音楽プレーヤーでは、ユーザーID/パスワードを入力するダイアログが表示できずに再生できないため、その場合は「http://ユーザーID:パスワード@Icecast2配信サーバー名:8000/マウントポイント 」で登録してください。

まとめ

前後編と2つに分けて紹介しましたMixxxですが、いかがでしたでしょうか。夏休みも終わって、これから学園祭やイベント事が増えるシーズンに突入しますが、Mixxxを使ったDJで場を盛り上げてると人気者になれるかも!(すべっても筆者は責任を持ちませんが)

おすすめ記事

記事・ニュース一覧