CaptureStream Ruby版を使って定期的にNHKラジオ語学講座をダウンロードする

IMG_1247
語学学習に最適な教材はNHKラジオ語学講座だと思っています。以前は雑音の混じるAMラジオを聞くしかなかったわけですが、現在ではらじる★らじるでクリアな音声で聞くことができたり、聞き逃してもNHKゴガクから1週間前の番組をストリーミング再生することができたりと、学習環境は飛躍的に向上しました。
しかしながら、それでも聞き逃してしまう場合もあるわけで、そういった場合は今回紹介するCaptureStreamを利用してダウンロードしておけば聞き逃しがなくなります。CaptureStreamは公式ページに記載のように、多数の語学講座のダウンロードに対応しています。

ストリーミングで公開されているNHKラジオ語学講座のダウンロードを自動化するためのツールです。基礎英語1/基礎英語2/基礎英語3/英会話タイムトライアル/ラジオ英会話/入門ビジネス英語/実践ビジネス英語/攻略英語リスニング/英語で読む村上春樹/エンジョイ・シンプル・イングリッシュ/まいにち中国語/レベルアップ中国語/まいにちフランス語/まいにちイタリア語/まいにちハングル講座/レベルアップハングル講座/まいにちドイツ語/まいにちスペイン語/まいにちロシア語に対応しています。

CaptureStreamはWindows版/Mac版/Linux版/Ruby版があります。今回はcronで1週間毎にダウンロードすることが可能であるRuby版を使ったものを紹介します。これをサーバー上で動作させておくことにより、NHKラジオ語学講座のダウンロードが完全に自動化されます

スポンサーリンク
広告 336×280

目次

  • 動作環境
  • 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

スポンサーリンク
広告 336×280