(勝手に思う)無意味に凝ったLinuxサーバー用途ベスト1といえば「音楽再生」です。本日は「スイッチひとつでラジオ再生するだけのサーバーをCentOSで作る」についてです。
こんにちは。猫ITソリューションズ広報の齊藤メイ(♀)です。本日は、「スイッチひとつでラジオ再生するだけのサーバーをCentOSで作る」についてです。サーバー構築にあたり沢山のサイトを参考にさせていただきました。貴重な情報をありがとうございます。深く感謝の意を表します。
要件と仕様
- 電源ボタンONで音楽を自動再生させたい
- 電源ボタンOFFで電源を切りたい
- サーバーにはキーボードもマウスも繋がない
- プレイリスト(.m3u)からランダム再生させたい
- プレイリストは同ネットワーク内で編集できるようにしたい
「音楽」とありますが、基本はネットラジオを想定しています。プレイリスト再生方式ですので、mp3なども再生可能です。
ハードウェアの設定
キーボードとマウスが接続されていなくても起動できるようにします。DELLなどメーカー製PCではキーボードとマウスを接続しないと起動しないこともありますので、その場合はBIOSから設定を変更することによって対応します。
キーボードが接続されていないとパソコンが起動しません。 - ... - Yahoo!知恵袋
各アプリケーションのインストール
必要なアプリケーションのインストールを行います。なおOSは、
CentOS release 6.8 (Final)
となります。
mplayer
音楽再生プレイヤーです。
Linuxデスクトップ環境にログインすることなく「再生するために」このソフトウェアが必要になります。
1 |
# yum install mplayer |
Rhythmbox
音楽再生プレイヤーですが、今回の目的には直接Rhythmboxは関係しません。Linuxログイン後に直接操作してラジオを再生させたりプレイリストを作ったりする場合の用途のために入れておきます。
インストール: Rhythmbox - Computer
samba
Windows以外のOSでWindowsネットワークの諸機能を利用できるようにするソフトウェアです。かなり昔から使われており情報も豊富です。プレイリストの共有に必要になりますが、以降の説明においては/home/samba/を共有ディレクトリにすることを前提に説明します。
Windowsファイルサーバー構築(Samba) - CentOSで自宅サーバー構築
PulseAudio関連
サウンドサーバーです。
Linuxデスクトップ環境にログインすることなく「サウンド機能を利用するために」このソフトウェアが必要になります。
1 |
# yum -y install esound esound-libs esound-tools pulseaudio libao-pulse paprefs libpulse-mainloop-glib pulseaudio-module-jack pavucontrol pulseaudio-module-hal pulseaudio-module-x11 libgstreamer-plugins-pulse pulseaudio-module-lirc pulseaudio-utils pulseaudio-module-zeroconf libasound2-plugins padevchooser paman pulseaudio-module-gconf libgconfmm libpulse-browse pavumeter libglademm pulseaudio-esound-compat libpulse libpulse-dev |
自動再生の設定
シェルスクリプトからサウンドサーバーPulseAudioを叩き、音楽再生プレイヤーmplayerにプレイリスト(.m3u)を投げて実行、という仕組みです。シェルスクリプトはLinux起動時に自動起動させます。今回はサービスとして組み込みました。
ファイル作成
プレイリスト
1 2 3 4 5 6 7 8 |
# vi /home/samba/playlist_1.m3u #EXTM3U http://pianosolo.streamguys.net:80/live http://s1.slotex.pl:7520/ #EXTINF:0,Essencepianoradio http://62.210.209.179:8011/Essencepianoradio http://193.34.51.14:80/ http://pianosolo.streamguys.net:80/live |
権限付与
1 |
# chmod 777 /home/samba/playlist_1.m3u |
自動再生用シェルスクリプト
1 2 3 4 5 6 7 8 |
# vi /etc/init.d/mplayer_autoplay #!/bin/sh # # chkconfig: 2345 99 99 # description: mplayer_autoplay pulseaudio --daemonize --log-target=syslog mplayer -loop 0 -playlist /home/samba/playlist_1.m3u -shuffle </dev/null >/dev/null 2>&1 & |
権限付与
1 |
# chmod a+x /etc/init.d/mplayer_autoplay |
サービスに登録
1 |
# chkconfig --add mplayer_autoplay |
サービスの登録状況を確認
1 2 |
# chkconfig --list mplayer_autoplay mplayer_autoplay 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
再起動して再生されるか確認
1 |
# reboot |
以上で電源ボタンだけで操作できる音楽再生サーバーは完成です。ボチボチ手間がかかりますね。なお「古くなったスマホとかmp3プレイヤーでいんじゃね?」という発言は禁止です。