語学学習に最適な教材はNHKラジオ語学講座だと思っています。以前は雑音の混じるAMラジオを聞くしかなかったわけですが、現在ではらじる★らじるでクリアな音声で聞くことができたり、聞き逃してもNHKゴガクから1週間前の番組をストリーミング再生することができたりと、学習環境は飛躍的に向上しました。
しかしながら、それでも聞き逃してしまう場合もあるわけで、そういった場合は今回紹介するCaptureStreamを利用してダウンロードしておけば聞き逃しがなくなります。CaptureStreamは公式ページに記載のように、多数の語学講座のダウンロードに対応しています。
ストリーミングで公開されているNHKラジオ語学講座のダウンロードを自動化するためのツールです。基礎英語1/基礎英語2/基礎英語3/英会話タイムトライアル/ラジオ英会話/入門ビジネス英語/実践ビジネス英語/攻略英語リスニング/英語で読む村上春樹/エンジョイ・シンプル・イングリッシュ/まいにち中国語/レベルアップ中国語/まいにちフランス語/まいにちイタリア語/まいにちハングル講座/レベルアップハングル講座/まいにちドイツ語/まいにちスペイン語/まいにちロシア語に対応しています。
CaptureStreamはWindows版/Mac版/Linux版/Ruby版があります。今回はcronで1週間毎にダウンロードすることが可能であるRuby版を使ったものを紹介します。これをサーバー上で動作させておくことにより、NHKラジオ語学講座のダウンロードが完全に自動化されます。
目次
- 動作環境
- FFmpegのインストール
- Rubyのインストール
- CaptureStream.rbの設定
- テスト、cronの設定
- 終わりに
尚、この記事は自分が2011年度に書いた内容を最新化したものです。
CaptureStream Ruby版を使ってCentOS 5.5上でNHK語学講座をダウンロードする – fujitaka’s lifelog
動作環境
今回動作させた環境はこんな感じです。FFmpegやRubyの準備は本記事で書いております。CaptureStream.rbは本記事執筆時点で最新のものですが、後に新しいものがリリースされた場合は内容が異なる場合があります。
- CentOS 6.5(2.6.32-431.3.1.el6.x86_64)
- ffmpeg version 0.10.11
- ruby 2.1.1p76
- CaptureStream.rb 2014/04/07
尚、実際のところは本記事を書くためにVagrantを使って仮想環境上に作成しました。関係ないですがこういった時にVagrantはかなり便利です。
FFmpegのインストール
CaptureStreamを利用する際に必要となる、ストリーミングを保存するFFmpegを準備します。yumですぐインストールできるかと思いきや、非公式リポジトリの追加しなければインストールできません・・・。
リポジトリ「EPEL」「RPM Fusion」の登録
FFmpegのインストールするために、「RPM Fusion」というリポジトリを登録する必要があります。RPM Fusionを登録する際にはEPELの登録を先に実行する必要があるので、先にEPELの登録です。
[vagrant@vagrant-centos65 ~]$ sudo rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm Retrieving http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm Preparing... ########################################### [100%] package epel-release-6-8.noarch is already installed
が、既にインストール済みでした・・・。
引き続きRPM Fusionの登録です。Configuration – RPM Fusionに書かれている通りのコマンドを実行します。
[vagrant@vagrant-centos65 ~]$ sudo yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/el/updates/6/i386/rpmfusion-free-release-6-1.noarch.rpm http://download1.rpmfusion.org/nonfree/el/updates/6/i386/rpmfusion-nonfree-release-6-1.noarch.rpm
(今度こそ)FFmpegのインストール
そしてFFmpegのインストールです。yumでサクッと。関連するソフトウェアもまとめてインストールしてくれます。
[vagrant@vagrant-centos65 ~]$ sudo yum install ffmpeg
これでFFmpegがインストールされます。
Rubyのインストール
Rubyもyumでサクッとインストール・・・といきたいところですが、ちょっと一手間が必要です。2014年4月6日にリリースされたCaptureStream Ruby版より、Rubyの対応バージョンが2.0.0以降になっています。yumによるインストールでは古いバージョンのRubyがインストールされてしまうため、今回はRVM(Ruby Version Manager)を使ってインストールします。
下記のコマンドを実行することで、RVMと安定版のRubyが一気にインストールされます。
[vagrant@vagrant-centos65 ~]$ \curl -sSL https://get.rvm.io | bash -s stable --ruby
終わった後、下記のコマンドを実行。一応、バージョンを確認・・・。
[vagrant@vagrant-centos65 ~]$ source /home/vagrant/.rvm/scripts/rvm [vagrant@vagrant-centos65 ~]$ ruby -v ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]
CaptureStream.rbの設定
この記事を書いている時点で最新の2014/04/07リリース版のCaptureStream.rbをダウンロードします。ダウンロードはダウンロード – CaptureStream (キャプチャーストリーム) – SourceForge.JPから。
ここで2カ所編集します。まずは保存する講座名の指定です。入門ビジネス英語、実践ビジネス英語を保存したいので、CaptureStream.rbの135行目を下記のように編集します。
$default_target = ['business1', 'business2']
次に、保存されるファイルの拡張子をmp3に変更します(デフォルトはavi)。CaptureStream.rbの219行目を下記のように編集します。
$audio_extension = 'mp3'
この他、保存する際のフォルダ名やファイル名の指定もできます。CaptureStream.rbに詳細が記載されていますので、そちらをご確認ください。
テスト、cronの設定
これで準備が完了したので、試しにダウンロードをしてみましょう。CaptureStream.rbに実行権限を付与して、下記のコマンドを実行します。
[vagrant@vagrant-centos65 vagrant]$ ruby CaptureStream.rb 語学講座ダウンローダ (2014/04/07) business2: OOO
Vagrant上なので結構時間がかかりましたが、ちゃんと保存されていることを確認できました。
最後に定期的に実行されるようにcronを設定します。NHK語学番組のページが更新されるのは、毎週月曜日の午前10時。よってそれ以降の11時にcronが実行されるように設定します。
[vagrant@vagrant-centos65 vagrant]$ crontab -e 0 11 * * 1 ruby /vagrant/CaptureStream.rb >/dev/null 2>&1
以上で設定は完了!
終わりに
一度保存したmp3ファイルはiTunesで同期してもいいですし、Dropboxに置いてストリーミング再生してもいいと思います。自分の環境にあった方法で聞くことができて、しかも聞き逃すこともありません。これで後は本人のやる気次第!
fujitaka
コメント