Very Berry Pi

僕とラズパイの記録

Raspberry Pi × VolumioでRadiko録音サーバ構築 1/2

コメントする

Rasberry Piと共に長らく放置してしまったこのブログ。その間に、Raspberry Pi2やPi A+が出て、今年に入りZeroに3が出て、僕の無印B+はすっかり過去のものに…
とは言え、元々のRaspberry Piのスペックからすればドングリの背比べのようなもの。無印B+でもまだまだ遊べます。

今回久しぶりにRaspberry Piを動かしたのは、ラジオ番組の録音をしたくなったため。春の番組改編でFMヨコハマのタイムテーブルがガラリと変わり、週末に移動した北島美穂さんのSunset Breezeを毎週聞こう!という思いから、ラズバイでのRadiko録音サーバ作りを思い立ちました。

volumio

作ると言っても、広大なネットにダイブすると先達の残してくれた膨大な量のログを追うことができます。そんなログを追って一通り録音できるまでにした記録です。

環境

Radikoサーバを作るために使用するOSはVolumioを選択。Rasbianでの構築でもよかったのだけど、色々調べていたらDACを乗せてハイレゾ再生をしたりLCDをつけてセットトップボックス化という選択肢を見つけたので、音楽再生に最適化されているVolumioに決めました。

手順

Volumioのダウンロードとイメージ焼き

Volumioは最新版の1.55をサイトよりダウンロード。イメージ焼きは過去のエントリーを参考に。
Volumioは様々なプラットフォーム向けのイメージが用意されているのがいいですね。

Radikoの再生・録音に必要なソフトウェアのインストール

ここからは、先達の力を借ります。
まずはソフトウェア導入のおまじないをし、rtmpdump, ffmpeg, libxml2-util, mplayer, swftoolsをインストールします。ただし、ffmplegは色々揉めた背景があり、Volumio 1.55に設定されているリポジトリではffmpegの導入はできないのでavconvで代替します。avconvはlibav-toolsの導入でよいみたい。
リポジトリを追加することでffmpegは導入できるようですが、色々と試した限りではライブラリを壊してしまい断念。(ハマりポイント)

pi@volumio:~$ sudo apt-get update
...
Reading package lists... Done
pi@volumio:~$
pi@volumio:~$ sudo apt-get install rtmpdump libav-tools libxml2-utils mplayer swftools
...
pi@volumio:~$

スクリプトのセットアップ

次にRadikoの再生と録音をするスクリプトを導入。soramugiさんがGitHub置いているまっつんさん作のradiko.shを使わせてもらいます。

pi@volumio:~$ mkdir ~/bin
pi@volumio:~$ cd ~/bin
pi@volumio:~$ wget https://gist.githubusercontent.com/soramugi/836952a6b09e540eb6a3/raw/81182ff0a1f5003077a479e0e947b66fb5d3b99e/radiko.sh
pi@volumio:~$ chmod 755 radiko.sh
pi@volumio:~$

はい、これでVolumioでRadikoを再生・録音する環境が整いました。
いざ再生!

pi@volumio:~$ cd ~/bin
pi@volumio:~$ radiko.sh -p YFM

しばらくして、スピーカーからラジオ番組が流れるはずです。なんて簡単な。

次に録音です。スクリプトでは録音したファイルをmp3へ変換するためにffmpegを使用していますが、今回コマンドをavconvに置き換えたので、スクリプトも少し変更します。

Before

  ffmpeg -ss ${starting} -i "${wkdir}/${tempname}.flv" \
    -acodec copy "${wkdir}/${tempname}.m4a" && \
    rm -f "${wkdir}/${tempname}.flv"

After

  avconv -y -ss {starting} -i "${wkdir}/${tempname}.flv" \
    -acodec libmp3lame -ar 44100 \
    "${wkdir}/${tempname}.mp3" && \
    rm -f "${wkdir}/${tempname}.flv"

そして録音。
-dで出力先、-fでファイル名を指定。-tは録音時間を分単位で指定します。
ここでは、録音ファイル(flv形式の一時ファイル)の出力先を/var/tmpに、出力するファイル名をRadikoTestとします。録音時間は5分です。
5分間の録音後、flvファイルをmp3ファイルに変換し、カレントディレクトリに作成されます。

pi@volumio:~$ radiko.sh -d /var/tmp -f RadikoTest -t 5 YFM
pi@volumio:~$ ls
RadikoTest.mp3

mp3ファイルが出来上がってますね。
mp3ファイルの出力先や一時保存ディレクトリなどは、スクリプトを修正し調整できます。

さて、できたファイルをmplayerで再生し確認します。

pi@volumio:~$ mplayer RadikoTest.mp3

スピーカーから聞こえれば成功。
番組一本を録ると結構いいサイズになるので、ビットレードなどを調整するなどして工夫が要ります。

ここまで来ると、あとは自動化の仕組みを組み込んで完成です。
cronによる定期的な録音とdropboxへのアップロードをやってみたいと思います。

つづく。

参考にさせていただいたサイト

 

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中