習作ダウンローダー1号のwiki

ページ名:習作ダウンローダー1号のwiki

「試作ダウンローダー1号(仮)」を『習作ダウンローダー1号』に改めました。

改版履歴

習作ダウンローダー1号の掲示板

習作ダウンローダー1号のTwitter

●関連作

習作ダウンローダー2号 : 「おうちで英語学習」から英文テキストを一括取得するツール。

試作ダウンローダー3号 : 高校講座用

●はじめに

NHKラジオ語学講座のネット配信をダウンロードするrubyスクリプトのページです。

習作ダウンローダー1号や、このwikiへのご意見ご感想は、掲示板にお願いします。

○謝意

"Capture Stream", "NHK.hta"の作者様のwikiは、特に参考にさせていただきました。

その他"ffmpeg" 等のツールの関係者の皆様ありがとうございます。

○来歴

"Capture Stream"の改造を手始めに、python, clojureへの書換を試みた後、新形式(json)にも対応が出来たので、公開してみました。

○使い方(windows)

1) フォルダを一つ用意し NHKdl*.zip を解凍(展開)する。ruby の用意の無い方は、*exe*.zip を更に解凍する。
パスワードを要求されるので「NHKdl」の5文字を入力する。

2) ffmpeg を入手する。公式サイトからは 64bit版しか得られませんが、ググれば 32bit版 を配布している所が在ります。
dynamic link版 と static link版 が在るので後者を選び、入手した ffmpeg のアーカイブから bin/ffmpeg.exe を解凍(他は不要)して 1)  と同じフォルダに保存。

3) config_0.rb をエディタで開いて編集する。
3-1)
$download = true
$ffmpeg = "ffmpeg.exe"
となっているか確認。

3-2)
$lstKouza = [
...略...
  # 中学生の基礎英語L1
  [:-, "6806", "english/basic1",     [3, 280], [*0..4], "基礎英語1"],
...略...
  # 中学生の基礎英語L1
  [:-, "OUCH", "basic1", ["中学生の基礎英語【レベル1】", :en], [*0..4], "基礎英語1"],
...略...
]

の中から欲しい科目(番組)を選んで行頭の :- を :Y に書き換える。”OUCH” とあるのが「おうちで英語学習」用の設定です。[*0..4] の部分を [*20..39] にすれば一番古い分から一月分取得できます。

3-3)文字コード utf-8 で保存

4)実行
cmd.exe 又は command.com を開いて以下の3行を入力。

1で作ったフォルダの在るドライブ名:
cd 1で作ったフォルダ名
dir

NHKdl*.* や ffmpeg.exe の名前が出てくれば、次の1行を入力します。

NHKdl.exe config_0.rb

これでダウンロードが始まるはずです。
後は、*.txt, 設定の説明を読んでカスタマイズしてください。
 

○特徴 230530版より

・Windowsで作っていますが、rubyとffmpegが有ればosを問わず実行できる(はず)。ffmpeg は各自で入手してください。
Windows用には ruby 3.2.2 32bit + Ocra で生成した exe版があるので、rubyのインストールは必須ではありません。

・ffmpeg のバージョンチェックをして、必要なら "-http_seekable 0" を加えます。ffmpeg 4.x / 5.x / 6.0 で確認。チェック方法は、"ffmpeg -http_seekable 0" を実行して、 "Unrecognizable option" の有無で判断します。

・ffmpeg のエラーをチェックしてリトライします。

・GUI無し。また、jsonやxmlのライブラリは使わず、stringとregexpで作っています。
次版(時期未定)から json については ruby の標準ライブラリを使用します。

・保存ファイル名にサブタイトルを追加出来る科目が在ります。設定部分の説明を見て下さい。

・エラー検知が弱いので、取得に失敗していても成功した様に見えるかもしれません。

●対応する講座/番組

1) json=新=らじる☆らじる聴き逃し 形式
放送直後から1週間(同じ曜日まで?)取得可能
語学以外のらじる☆らじるの聴き逃し(一部を除く)も取得可能
230626版から id の1文字目が英字、枝番が 01 以外の番組に対応しました。

2) xml=旧=Android の NHK語学アプリ 形式
毎週月曜に前週放送分が取得できるようになります。
ボキャブライダーでは初回まで取得できます。短い番組とはいえ、全部で6年1400本以上になるので実行は慎重に。

3)「おうちで英語学習」の5科目と「お悩みバスターズ 中国語」
毎週月曜に前週放送分が取得できるようになります。
最大で2ヶ月前の放送分まで取得できます。
「小学生の基礎英語」では、22年4月分から取得できます(230529現在)。

科目(番組)数に制限はありません。1つの設定ファイルに複数の形式の混在が可能です。
設定ファイルを複数用意して、曜日やジャンルで使い分ける事もできます。

○発見

・同じ講座を取得(同じエンコード設定 -c:a copy)しても、新旧形式/再配信で得られたファイルのサイズ/チェックサムは、違う場合がある。

●Windows用 ffmpeg の入手先

以下のリストは google の検索結果からピックアップしただけの物です。
サイトや成果物の品質を保証する物ではありません。

 ・公式 64bitのみ
 https://ffmpeg.org/download.html#build-windows
▽以下 32bit版 を入手できる所 (230817現在)
 ・3.2 ~ 4.2.1
 https://ffbinaries.com/downloads
 ・4.3.1 or 20200828 32/64bit
 https://web.archive.org/web/20200912071021/https://ffmpeg.zeranoe.com/builds/
 ・6.0
 https://github.com/sudo-nautilus/FFmpeg-Builds-Win32/releases

▽CaptureStream2 語学講座CS2 様が Windows 32bit Ver.4.4 / 5.1 / 6.0 の入手先を紹介されています。

 ffmpeg最新版入手サイト

●公開中の版

★今わかっている欠陥★

・旧(xml)形式で、3月末~4月始めの年度の変わり目に、ファイル名の年の部分が間違う可能性があります。(次の週には戻ります)。2303xx版でも直せていませんが、ボキャブライダーの過去分はうまく繋がっています。なので、とりあえず現状維持とします。

・.exe版は、セキュリティソフトにトロイの木馬と判定されやすいです。作者自身も使っているので問題無いと思いますが、不安に思われる方は.rb版をお使いください。

☆設定変更情報 240115現在

XML でご利用の方は、番組が替わる半期、四半期には offset の変更が必要です。
下記の値に設定を修正してください。

  イタリア語 スペイン語 フランス語 ドイツ語 ロシア語 中国語

ハングル

入門 / 初級 600 200 500 500 600 300 120

応用 / 中級 /
ステップアップ

200 600 270 50 100 100 530

▷ お悩みバスターズ 中国語をご利用の方は設定の
$ouchC = "https://www.nhk.or.jp/gogaku/onayami/chinese/04-listen.json"
の ”/04-” を "/05-" に変更してください。

◎最新版 : 230626版230626+exe版

NHKdl.exe
   md5 : 47665fabaa04756a1d7f1fc28f6cba09
  sha1 : 44e9544afded5b27f820ac414a8c64d9dfdcb998
sha256 : bdeaed6228bfd8a0a946a1faa3c3d4fab8005969d0042eb6087f21efdf102993

☆今までの設定はそのままで、らじるらじるの対応番組を増やすため
 例 "F311_06" 牧野富太郎「ススキ談義」 221010放送 240331配信終了
 1)jsonの科目(番組)コードを4文字→7文字に また、1文字目に [A-Z] を許す
 2)$jsn0 の "_01.json" → ".json" に
 3)科目(番組)コードが4文字なら "‗01" を足す
 4)$jsn0 に "_01" が在れば 削除
▷バグ修正は無いので、現状維持でいい方のアップデートは不要です。
▷アップデートする方は、今までの設定をそのまま使えます。

これ以前の版については、改版履歴をご覧ください(旧版のDLは出来ません)。

●先達のソフトウェア

敬称略、順不同

NHK.hta

CaptureStream CS-English/CS-Mult : 類似アプリのページで紹介していただいています

gogakuondemand.rb / radirudegogaku.rb : 別館 子子子子子子(ねこのここねこ)はてブロ部

ikakunsan/radio-gogaku-downloader : on Python

rfriend2 : 汎用ラジオ配信視聴録音ツール

語学ドロイド

ラジリンガル

●試作ダウンローダー1号の記事のある所

NHK テレビ・ラジオ 英語講座 総合案内所 PART19

NHK テレビ・ラジオ 英語講座 総合案内所 PART18

NHK テレビ・ラジオ 英語講座 総合案内所 PART17  

●同種ツールを自作する記事

Pythonを使ってNHKラジオをダウンロードしよう②-ダウンロード編-

NHKラジオ語学講座のストリーミングデータをMP3形式で自動ダウンロードする : on Python

NHKらじるらじる聞き逃し高速録音フリーソフトの製作 Windows用

android用アプリ

○みんなのラジ

ラジオ放送(のネット配信)を予約録音できる。放送大学のラジオ講座をこれで保存して、mp3DirectCut で前後の不要部分をカットして、FFmpeg Media Encoder で m4a にして保存しています。

以前使っていたラジオの録音アプリは、設定した時間より早く録音が終わったり、予約時間に起動しなかったりしていたので、これに変えて良かった。

----------------------------------------

習作ダウンローダー1号の掲示板

習作ダウンローダー1号のTwitter

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

習作ダウンローダー1号のwiki

「試作ダウンローダー1号(仮)」を『習作ダウンローダー1号』に改めました。改版履歴習作ダウンローダー1号の掲示板習作ダウンローダー1号のTwitter●関連作習作ダウンローダー2号 : 「お...

改版履歴

旧版履歴が長くなってきたので専用のページを作りました。◎最新版 : 230626版 / 230626+exe版NHKdl.exe   md5 : 47...

習作ダウンローダー2号

習作ダウンローダー2号(旧 試作ダウンローダー2号)ご意見ご要望は、掲示板かTwitterにお願いします。習作ダウンローダー1号の掲示板習作ダウンローダー1号のTwitter●はじめに◎230528版...

その他の言語

Wikipedia(ja) よりアラビア語講座tv アラビーヤ・シャベリーヤtv テレビでアラビア語tv アラビア語会話 ポルトガル語入門ポルトガル語ステップアップ アジア語楽紀行...

左メニュー

カウンターサイト全体:今日:昨日:更新履歴最近のコメントその他 トップページ ここを編集する...

右メニュー

右メニューサンプル右メニューはヘッダーメニューの【編集】>【右メニューを編集する】をクリックすると編集できます。 ご自由に編集してください。 ここを編集する...