NHK ラジオの語学講座を毎週ダウンロードしてるんですが、
外国語を勉強してるのは海外に行くためでして、海外だとダウンロードができないことがよくあります。
なのでせっかくさくらの VPS をお金払って借りてるんだから
勝手にダウンロードするように設定しましたので参考にどうぞ。
月曜日の 12 時頃には決めておいたフォルダに mp3 ファイルができてます。
実際に先週から動かしてみてますが、こりゃ楽でいいです。
SugarSync にアップロードしてるので海外にいるときに iPhone があるだけで新しい音声を聞くことも出来ます。
記事が長くなるので今回の
さくら VPS を使って自動的に NHK ラジオ講座をダウンロード
次回の
さくら VPS にダウンロードした mp3 を Sugarsync にアップロードする
の 2 つにわけて解説していきます。
自動的に NHK ラジオ講座をダウンロードするには以下の 4 つの手順が必要です。
flvstreamer のダウンロード、コンパイル
Ruby のインストール
CaptureStream の設定
cron の設定
1. flvstreamer のダウンロード、コンパイル
flvstreamer をインストールするんですが、
まずさくらの VPS が 32 ビットなのか 64 ビットなのか確認します。
$ cat /proc/cpuinfo | grep flags
して値に lm が含まれていれば 64bit の CPU です。
次に
$ uname -a
X86_64 とか amd64 とかが表示されたら、64 ビット版のカーネルです。
64bit だとわかったので、64bit の flvstreamer をインストールしたいんですが、
32bit しかバイナリがおいてないので自分でコンパイルします。
$ wget http://download.savannah.gnu.org/releases/flvstreamer/source/flvstreamer-2.1c1.tar.gz
$ tar zxf flvstreamer-2.1c1.tar.gz
$ cd flvstreamer
$ make posix
$ ./flvstreamer
FLVStreamer v2.1c1
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
ERROR: You must specify a hostname (--host) or url (-r "rtmp://host[:port]/playpath") containing a hostname
# yum install ruby
やってることは
wget で flvstreamer の圧縮されたソースコードをダウンロード
tar で圧縮ファイルを展開
展開したファイルに移動してビルド
引数なしで動かしてインストールが正常終了したか動作確認
となります。
動作を確認したら
$mkdir ~/bin
$mv flvstreamer ~/bin
と HOME フォルダ直下に bin を作って、そこに置いておきます。
( ~/ はユーザーの HOME ディレクトリ)
それからついでに bash に PATH を通しておきましょう。
$vi ~/.bashrc
で Bash の設定ファイルを開いてファイルの最後に
PATH="$PATH":~/bin
を追加しておきます。
$source ~/.bashrc
として設定を反映させておきましょう。
これでどこからでも flvstreamer を呼び出せるようになりました。
2. ruby のインストール
次に CaptureStream.rb を動かすために ruby をインストールします。
以前は yum で入る Ruby のバージョンが 1.8.5 だったので、1.8.7 を入れるためにソースからインストールしていたようですが、今は 1.8.7 が普通に入るので yum でインストールします。
sudo yum install ruby
3. CaptureStream の設定
まず CaptureStream.rb をダウンロードしてきます。
http://sourceforge.jp/projects/capturestream/releases/
ダウンロードしてきた CaptureStream.rb をテキストエディタで開いて設定します。
中に設定方法が書いていますが、
$default_target = []
に
$default_target = ["business1","business2","chinese","french", "italian", "hangeul", "german", "spanish", "russian", "levelup-chinese", "levelup-hangeul"]
のようにダウンロードしたい講座名を指定します。
これだけで動作は問題ないのですが、
自分の場合は保存ファイル名が「毎日ドイツ語_2012_06_04」のよりも「毎日ドイツ語-2012-06-04」の方が好きなので
# 保存ファイル名
$out_file_hash
の値を「"%k_%Y_%M_%D" → “%k-%Y-%M-%D”」と変更しました。
設定が終わったら nhklang など適当な名前のフォルダを作って WinSCP などで CaptureStream.rb をアップロードします。
ここまでの設定で既に語学講座のダウンロードはできるようになっているはずなので、
ruby ~/nhklang/CaptureStream.rb
で実際にファイルがダウンロードできてるか確認しておいたほうが良いでしょう。
うまくいかなかったらコメント欄に質問をどうぞ。
4. cron の設定
あとは毎週決まった時間にダウンロードするための cron の設定を行います。
crontab -e
で cron の設定ファイルを開いて
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:~/bin
0 11 * * mon ruby ~/nhklang/CaptureStream.rb >> ~/nhklang/Capture.log</pre>
<p></p>
と書いて保存します。これで毎週月曜日の11時にダウンロードが行われます。
ただ、実際に来週まで動くかどうか待つのは面倒だという方は時間設定を数分後にして動作確認をすると良いでしょう。
### 参考
Ubuntu 10.4 Server上でCaptureStream Ruby版を使ってNHK語学講座をダウンロード: らぶらぶ♪じゃんく
<http://app.m-cocolog.jp/t/typecast/27561/29112/69881215?page=2>
CaptureStream Ruby版を使ってCentOS 5.5上でNHK語学講座をダウンロードする - fujitaka’s lifelog
<http://d.hatena.ne.jp/fujitakastyle/20110403/1301837105>
Linuxでの32ビットと64ビットマシンの見分け方。 - IT memorandum
<http://d.hatena.ne.jp/jun-ya/20090511/1242028435>
CaptureStream Ruby版を使ってCentOS 5.5上でNHK語学講座をダウンロードする - fujitaka’s lifelog
<http://d.hatena.ne.jp/fujitakastyle/20110403/1301837105>
さくらVPSでRuby on Railsを動かすメモ - @yuumi3のお仕事日記
<http://d.hatena.ne.jp/yuum3/20100927/1285567203>
[さくらVPS] デフォルトだと日本語が文字化けするよね? | DENPA GROOVE
<http://jokami.mydns.jp/2010/10/01/%E3%81%95%E3%81%8F%E3%82%89vps%E3%80%80%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%A0%E3%81%A8%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%8C%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%E3%81%99%E3%82%8B/>
cron(クーロン)の設定 - プログラムを定期的に自動実行 [Fedora, RedHat, CentOS] - Linux
<http://memorva.jp/memo/linux/cron.php>