新しいバージョンv3.4(Windows対応、 mp3・m4a・wma・ogg対応)を公開しました。
NHK語学講座のラジオ番組ストリーミングを取得するRubyスクリプトgogakuondemand.rb(v3.4 Windows対応)
NHK大好きな[twitter:@riocampos]です。
語学講座ストリーミング取得Rubyスクリプトgogakuondemand.rbを公開しました。
- NHK語学講座のラジオ番組ストリーミングを取得するRubyスクリプトgogakuondemand.rb - 別館 子子子子子子(ねこのここねこ)
- NHK語学講座のラジオ番組ストリーミングを取得するRubyスクリプトgogakuondemand.rb(RubyとFFmpegのみ版v1.1) - 別館 子子子子子子(ねこのここねこ)
そして旧形式のダウンロードが使えなくなった本日10時、このスクリプトも使えなくなりましたorz
ということで、何が変更になったのか確認しておりました。
で、対策できましたので、対策を講じたバージョン2.0を公開します。
しかし、バージョン2.0まではメモリを喰いやすい設定になっていました。また、Windowsで使われていない(であろうと思われる)OpenSSLをコマンドとして使っていました(MacやLinuxでは当然入ってるので使えないと思いつかなかった…すみません)。さらにcatコマンド使ってましたorz
ので、これらに対応したバージョン2.2を公開しました。
全ての方にアップデートをお勧めします。Windowsで動作しやすくなっているとも思われます。
ようやくv3.0で対応しましたお待たせしましたm(_ _)m
NHK語学講座のラジオ番組ストリーミングを取得するRubyスクリプトgogakuondemand.rb(v3.0 Windows対応)
スクリプトのダウンロードファイル
http://www.mediafire.com/download/mtha3jb49ym66hi/gogaku220.zip ←旧版ですので公開を終了しました。
このzipファイルに3つのファイルが入っています。(これでエラーが出る場合は下の別バージョンでご確認を。)
- gogakuondemand.rb
- pref.rb
- subjects.rb
使い方
上記環境をセットアップしてください。
上記3ファイル全てをストリーミングファイルを保存したいところへ置いてください。
ダウンロードする講座講座名はpref.rbで設定します。デフォルトでは「入門ビジネス英語」「実践ビジネス英語」が選択(falseからtrueに変更)されています。
設定を終えた後に
$ ruby gogakuondemand.rb
を実行すればストリーミングファイルが取得されます。
別バージョン
上記リンクのスクリプトでOpenSSLのcertificate verify failedエラー(具体的にはコメント欄のおぐりん☆さんのエラー)が出る場合には、こちらのスクリプトをダウンロードして使ってみてください。gogakuondemand.rbのみ異なっています。
http://www.mediafire.com/download/i7pfp1534qrm48r/gogaku220_SSL_VERIFY_NONE.zip ←旧版ですので公開を終了しました。
使い方は同じです(SSLのセキュリティ確認を無視する設定になっています)。
動作環境詳細
当方の開発環境はhomebrewを使ったMac(OS X 10.7.5 Lion)です。またRubyはrbenvを使ってインストールしています。
Ruby再インストール - 別館 子子子子子子(ねこのここねこ)
$ ruby -v ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin11.4.2]
nokogiriはrubygemsで入れます。*1
ffmpegもhomebrewでインストールしました。*2
$ ffmpeg -v ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers built on Jun 26 2013 17:54:52 with Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn) configuration: --prefix=/usr/local/Cellar/ffmpeg/1.2.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid libavutil 52. 18.100 / 52. 18.100 libavcodec 54. 92.100 / 54. 92.100 libavformat 54. 63.104 / 54. 63.104 libavdevice 54. 3.103 / 54. 3.103 libavfilter 3. 42.103 / 3. 42.103 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100
また、Mac OS X Snow Leopard 10.6.8での動作のみ確認済みです。
その他環境では未確認です。動作報告をいただければ幸いです。
[twitter:@riocampos]へのご連絡が一番ありがたいです。コメント欄は見てないことが多いです。いまはまだしっかり見てますw
スクリプトソース
ライセンスとかはよく知らないですが、ひとまず、利用や紹介をする場合には、この7/31分のはてなダイアリーへのリンク
NHK語学講座のラジオ番組ストリーミングを取得するRubyスクリプトgogakuondemand.rb(v1804_1 2018/5/5更新版) - 別館 子子子子子子(ねこのここねこ)
を貼ってください。
更新履歴
- 2013/7/25
- 2013/7/26
- 2013/7/29
バージョン2.0公開(このページ)
7/29のNHK側設定変更に対応
- 2013/7/30
バージョン2.1公開(このページ)
[twitter:@Mofus1]さんご指摘、及びおぐりん☆さんコメントに対応*3。
@riocampos terminal が固まったところで別のターミナルからps -xをいれると fork: Resource temporarily unavailableというエラーが表示されます。
— Mofus (@Mofus1) July 29, 2013
- 2013/7/30
バージョン2.2公開(このページ)
[twitter:@honda0510]さんのWindows向け指針に従い修正(当方に環境がないため検証できず)。
@riocampos 「"cat #{merge_list} > #{title_path}.mp4"」→「"type #{merge_list} > #{title_path}.mp4".gsub("/", "\\")」とすると、mp3への変換を始めました。
— honda0510 (@honda0510) July 30, 2013
動作確認ご報告(ありがとうございます)
- Debian(v2.0にて)
@riocampos はじめまして。動作報告です。@jakago さんのTweetで知りました。Debian(wheezy)で試してみました。ただし、wheezyはFFmpegがdeprecatedということで標準のパッケージが古いので、avconvに書き換えましたが。
— Hide (@fjmthdk) July 28, 2013
- Ubuntu(v2.0にて)
@riocampos Ubuntuで、RubyやOpenssl、RVMなどのバージョンをすべて同じにしましたが、無事にファイルをDLできました。ただ、やはりps-xコマンドを見ると<defanct>のopensslプロセスが発生しています。なぜubuntuでOKかは不明です。
— Mofus (@Mofus1) July 30, 2013
サポート
私も使ってるスクリプトなので、今後NHK側が行った変更には対応していくするつもりです。
ただし当方の環境以外(特にWindows環境)でスクリプトが動作しないことへの対応はおそらくできないです。ごめんなさい。
Mac向けデスクトッププログラムは作りたいと思っています。
プログラムへのffmpeg組込方法が分かれば、Win用デスクトッププログラムも作るかもやるかもしれません。
コメントは[twitter:@riocampos]へ。
他の方が作られたRubyスクリプト
v1.1の記事でコメントくださった id:fafhrd さんの記事。
同じRubyなのに、書き方が全く違うw
使っているライブラリもほとんど違います。
面白いですね^_^
投げ銭
このスクリプトが役立ったときには、Amazonギフト券をお送り頂ければありがたいです。
メールアドレスは「riocampos22あっとまーくgmail.com」です。
よろしくお願いします。
- 作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/01/26
- メディア: 大型本
- 購入: 21人 クリック: 356回
- この商品を含むブログ (129件) を見る
- 作者: Jay Fields,Shane Harvie,Martin Fowler,Kent Beck,長尾高弘
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2010/02/27
- メディア: 大型本
- 購入: 9人 クリック: 321回
- この商品を含むブログ (49件) を見る
- 作者: Paolo Perrotta,角征典
- 出版社/メーカー: KADOKAWA/アスキー・メディアワークス
- 発売日: 2010/08/28
- メディア: 大型本
- 購入: 18人 クリック: 533回
- この商品を含むブログ (125件) を見る
- 作者: Yugui
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/06/26
- メディア: 大型本
- 購入: 27人 クリック: 644回
- この商品を含むブログ (251件) を見る
Rubyベストプラクティス -プロフェッショナルによるコードとテクニック
- 作者: Gregory Brown,高橋征義,笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/03/26
- メディア: 大型本
- 購入: 9人 クリック: 307回
- この商品を含むブログ (47件) を見る