2020/4/2告知
らじる★らじる聴き逃しサービス対応版を公開しました。
2020/4/6告知
gogakuondemand.rb のpref.rb
ファイルのdef school_year
の部分を
def school_year # ダウンロード対象年度を西暦で指定してください。 2020 end
に変更すると(基礎英語0以外は)ダウンロードできるようになります。気付くのに遅れましたorz
基礎英語0向けの更新を予定しています。
ただし語学番組ストリーミングは基本的に「らじる★らじる聴き逃しサービス」への移行を進めていると思われますので、 gogakuondemand.rb でのダウンロードがいつまで行えるかは不明です。
2019/4/8告知
v1804またはv1804_1をご利用で、2019年度分がダウンロードできない方はpref.rb
ファイルのdef school_year
の部分を
def school_year # ダウンロード対象年度を西暦で指定してください。 2019 end
に変更してください(今は2018
になっているはずです)。
毎年4月におけるダウンロード範囲を前年度と本年度とするように、現在変更作業中しています。
NHK大好きな[twitter:@riocampos]です。
2018年4月の番組改編に伴う対応更新を行いました。
また、ダウンロード範囲を同一年度に限定しました。特にボキャブライダーの為です。詳細はgogakuondemand.rbをv1804に更新を確認してください。
そして…ごめんなさい、デバッグしきれておらず、5月になったらバグが出ました*1。ので v1804_1 に更新しました。お手数お掛けしますm(_ _)m
投げ銭お願い
下にも書いてますがよろしくお願いしますm(_ _)m
なお、皆様の寄付で
「環境設定とか面倒なのはイヤ」と言う方はラジリンガル | NHK語学講座ダウンロードソフトをオススメいたします。
必要環境
- Ruby 1.8.7以降(おそらく1.8.0から最新の2.6.2まで対応)
- FFmpeg OpenSSLまたはGnuTLS対応が必要対応していないとエラーが出ます。また、Ogg Vorbis(.ogg)での保存にはlibvorbisに対応している必要があります。
スクリプトのダウンロードファイル
gogaku1804_1.zip(DropBox)
このzipファイルに3つのファイルが入っています。
- gogakuondemand.rb
- pref.rb
- subjects.rb
使い方
前準備
上記の必要環境(RubyとFFmpeg)をセットアップしてください。
上記3ファイル全てをストリーミングファイルを保存したいところへ置いてください。
ダウンロードする講座名はpref.rbの「def pref」行以下の箇所で設定します。
デフォルトでは「ラジオ英会話」「遠山顕の英会話楽習」が選択(true)されています。
例えば「入門ビジネス英語」「実践ビジネス英語」「まいにちフランス語」の3講座のみをダウンロードしたい場合、これらの"false"を"true"に変更します。そしてデフォルトで選択されていた「ラジオ英会話」「遠山顕の英会話楽習」の"true"を"false"に変更します。Windowsユーザの方はもう少し下 ↓ もご覧ください。
設定を終えた後に
$ ruby gogakuondemand.rb
を実行すればストリーミングファイルが取得されます。
なお、mp3以外のフォーマットで常に保存する設定をするには、pref.rbの「def audio_format」部分に、希望のフォーマット名を(註釈に従って)書いてください。
フォーマットによる品質の違い
別エントリにしました。
gogakuondemand.rb で保存可能な音声フォーマットによる違い - 別館 子子子子子子(ねこのここねこ)
設定ファイルpref.rbを編集するには
-
- Windowsユーザの方へ:pref.rbを開く場合には、文字コードがUnicode(UTF-8)、改行コードがLFを扱えるエディタを使ってください。WinXPのメモ帳だと文字化けします。Wordでも開けますが、変更後に保存する際「pref.rb」の名前で保存できない(別の拡張子が付く)のでオススメできません。
- おすすめエディタ1:TepaEditor
- おすすめエディタ2:Mary
- Macユーザの方へ:pref.rbを開く場合には、文字コードがUnicode(UTF-8)、改行コードがLFを扱えるエディタを使ってください。Snow Leopard(OS X 10.6)のテキストエディットだとUTF-8を開けません*2。Lion(OS X 10.7)のテキストエディットだと大丈夫です。
- おすすめエディタ1:CotEditor -Text Editor for macOS
- おすすめエディタ2:mi
- Windowsユーザの方へ:pref.rbを開く場合には、文字コードがUnicode(UTF-8)、改行コードがLFを扱えるエディタを使ってください。WinXPのメモ帳だと文字化けします。Wordでも開けますが、変更後に保存する際「pref.rb」の名前で保存できない(別の拡張子が付く)のでオススメできません。
Windowsでgogakuondemand.rbを使用したい方へ
当方に確認環境がまだ無いのでサポートはほとんど出来ません。(いちおう環境は作りました。)
デバッグに協力頂いた[twitter:@honda0510]さんの環境を公開頂いたので参考にしてください。
- Windows Vista 32bit
- Ruby
- FFmpeg
- http://ffmpeg.zeranoe.com/builds/ の 「Download FFmpeg git-c96b3ae 32-bit Static」をダウンロード
- 解凍 7zファイルを解凍するには7-zipが必要です。 http://www.7-zip.org/
- binフォルダ内のffmpeg.exeを、ruby.exeがあるフォルダ(デフォルトは C:\Ruby193\bin) にコピー
- Rubyスクリプト
http://honda0510.tumblr.com/post/56925376426/nhk-ruby-windows
動作環境詳細
当方の開発環境はhomebrewを使ったMac(macOS 10.12.6 Sierra)です。
Ruby
rbenvとruby-buildを使ってインストールしています。基本的にはこんな感じ。
$ CONFIGURE_OPTS="--disable-install-rdoc --enable-shared" rbenv install 2.3.3
参考:
- homebrew, rbenv + ruby-build で ruby環境構築 - 別館 子子子子子子(ねこのここねこ)はてブロ部
- Ruby再インストール - 別館 子子子子子子(ねこのここねこ)はてブロ部
- rbenvでMacにRuby 2.2.1 インストール(オプション指定最新版 - Qiita
$ $ ruby -v ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]
FFmpeg(OpenSSL対応版)
homebrewでインストールしました。
OpenSSLとlibvorbisにも対応するような設定でビルドしています。
$ brew install ffmpeg --with-openssl --with-rtmpdump --with-libvorbis
参考:
- らじる★らじるをmp3録音するためrtmpdumpとffmpegをhomebrewでインストール - 別館 子子子子子子(ねこのここねこ)はてブロ部
- ffmpegでlibrtmpを使えるようにhomebrewを扱ってみる(失敗中)→どうもFormulaの問題&オプション設定が分かってなかったせい - 別館 子子子子子子(ねこのここねこ)はてブロ部
バージョン出力結果。
$ ffmpeg -version ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers built with Apple LLVM version 9.0.0 (clang-900.0.37) configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-librtmp --enable-libvorbis --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --enable-openssl --disable-lzma --enable-nonfree libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100
ご利用ご感想など
[twitter:@riocampos]へのご連絡が一番ありがたいです。
この投稿のコメント欄でもかまいません。
スクリプトソース
このスクリプトに関して、ライセンスとかはよく知らないですが、ひとまず、利用や紹介をする場合には、この7/31分のはてなダイアリーへのリンク
NHK語学講座のラジオ番組ストリーミングを取得するRubyスクリプトgogakuondemand.rb(v1804_1 2018/5/5更新版) - 別館 子子子子子子(ねこのここねこ)はてブロ部
を貼ってください。
更新履歴
バージョン2.2まではhttp://d.hatena.ne.jp/riocampos+tech/20130729/p1に記載
- 2013/7/31 バージョン3.0公開
- 2013/8/1 バージョン3.1公開
- FFmpegの環境を確認する設定を追加。OpenSSLまたはGnuTLSに対応していないとエラーが出ます。
- 2013/8/1 バージョン3.1.1公開
- 2013/8/2 バージョン3.2公開
- 2013/8/6 バージョン3.3公開
- 2013/8/9 バージョン3.4公開
- 2014/3/31 バージョン3.5公開
- 音声ファイルへの案内ファイル*5の位置が変更されたことに対応
- 新科目「エンジョイ・シンプル・イングリッシュ」の取得に対応
- 2014/10/3 バージョン3.6公開
- Nokogiri gem への依存を排除(インストール時にエラーが出やすいNokogiriを使わなくしたことで、スクリプトの必要環境が少なくなりました。Special Thanks to id:maroso )
- Ruby 1.8 への対応(Special Thanks to id:maroso )
- スクリプト全体の見直し
- 2017/4/11 v1704公開
- 2017/4/11 v1704_1公開
- ボキャブライダー の追加
- 2017/7/19 v1704_2公開
- 短期集中!3か月英会話のストリーミングURL変更への対応(Special Thanks to tama )
- 2017/11/2 v1704_2公開
- 短期集中!3か月英会話のストリーミングURL変更への対応(Special Thanks to tama )
- 2018/4/9 v1804公開
- 2018/5/5 v1804_1公開
- デバッグのため更新
動作確認ご報告
バージョン2.0まではhttp://d.hatena.ne.jp/riocampos+tech/20130729/p1に記載
Mac OS X 10.7.5 Lionで環境構築された方のblogをご紹介します。
CaptureStreamに代わるダウンロード方法(Mac) - 本棚整理五月雨式
Win7 64bitいけました。ありがとうございます@riocampos SSL認証は通せたのですがDecryptで積んでたので新バージョンありがたいです。/認証ありにするにはVERIFY_NONEをVERIFY_PEERにするとよ… http://t.co/qhB0vuNUN2
— Hideo Saito (@hideocpa) July 31, 2013
下記コメントにも書いて頂いてますね、ありがとうございます。@riocampos 動作報告です(おぐりん☆です)。【環境】Windows7 Ultimate及びWindows8の64bit・Ruby 1.9.3p448・ffmpeg version N-55066-gc96b3aeの環境にて、無事に動作しております。
— ドッグシッター どっぐすはっぴースタッフ (@dogshappy) July 31, 2013
毎バージョン確認頂いてます、本当にありがとうございますm(_ _)m@riocampos v3.1.1 正常にダウンロードできました。Windows Vista 32bit
— honda0510 (@honda0510) August 1, 2013
ウイルス対策ソフトの干渉ありとのご報告
ugokashitaidesuさんから「gogakuondemend.rbで使っているffmpegがウイルス対策ソフトに止められてしまう」とのご連絡を頂きました。コメント欄からこちらへ引用しておきます。
(2014年)2月第二週目からストリーミングのダウンロードが途中でフリーズしてしまう現象の回避方法がわかりましたので参考までにご報告いたします。
具体的には、ESET社(日本のキャノンITソリューションズ)のスマートセキュリティーまたはNODをアンチウィルスを導入している環境で2014/2月2週目あたりの更新以降発生することがあるようです。問題を解決するには、ESET NOD32/ESSのプロトコルフィルタリングの対象外アプリケーションに、ストリーミングダウンロードに使用しているffmpegを追加します。ffmpegが最新のものであるかどうかは現時点では関係はないようです。(これまでプロトコルフィルタリングの除外対象に追加しないと動かなくなるケースに遭遇したことはなかったので、不思議なのですが)http://canon-its.jp/supp/eset/notify20100212_1.html
投げ銭
このスクリプトが役立ったときには、Amazonギフト券をお送り頂ければありがたいです。
メールアドレスは「riocampos22あっとまーくgmail.com」です。
よろしくお願いします。(お送り頂いた方、本当にありがとうございます。)
質問をされる方へ
私も使ってるスクリプトなので、今後NHK側が行った変更には対応していくするつもりです。
機能要望はOKですが、実現可能かどうかは私の開発能力に掛かっていますw
基本的にはノーサポートであると理解してください。
そして、自分で環境構築が出来る方にしかサポートできません。
「私でも出来るでしょうか?」「Rubyってなに?」「コマンドってなに?」という方は利用を諦めてください。
もしくは、私または他の方がより使いやすいものを作るのを待ってください。
(私もこれのMac版を使っています。クセがあり、(NHKサーバのせいと思われる)欠落が発生することもありますが、番組表から予約できるなど、いろいろ便利です。)
-
- >