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

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

改版履歴

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

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

●はじめに

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

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

●謝意

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

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

●来歴

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

●特徴

・全語学講座、新旧(新=json=らじるらじる, 旧=xml=NHK語学アプリ)両形式対応。

・windowsで作っていますが、rubyとffmpegが有ればosを問わず実行できる(はず)。

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

・GUI無し。また、jsonやxmlのライブラリは使わず、stringとregexpで作っています。

・新形式の基礎英語1,2,inE,ボキャブライダーで保存ファイル名にサブタイトルを追加出来ます。その他の講座は、json の中に有用なデータが入っていません。

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

●発見

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

・旧形式(xml)でダウンロードした方が、HTTP errorは少なく、僅かにビットレートが高い=ファイルが大きい(新旧共に -c:a copy)。220516DL分から旧形式のビットレートが新形式と同等になった様です。

●公開中の版

★今わかっている欠陥★

旧(xml)形式で、3月末に新年度の講座が始まった場合に、ファイル名の年の部分が更に一年先になります(4月になれば戻ります)。

220518版でも直せていません。ボキャブライダーの過去分はうまくいっていますが、偶然で原理的には間違っています。

22年度から、年次を削除するかもしれません。→とりあえず現状維持とします。

◎最新版 : 220720版

●retry の条件に "Unable to open resource:" を追加。
・json の講座名取得を aa_vinfo1→file_title に変更。
・0712 までの offset の変更。

○旧版 : 220518版

NHK側の仕様変更で新旧両形式で DL 出来なくなったのを修正しました。

・ffmpeg のオプションに "-http_seekable 0" を追加。ffmpeg のバージョンが 4.3 未満の時は削除して下さい。

・旧形式では ffmpeg  に master.m3u8 の中の url を取り出して渡していましたが、master.m3u8 を渡せばいい事が先達のソフトを試して判りました。他のソフトが旧形式でトラブっていないのを不思議に思っていましたwww。

・変数 SUBTITLE を正規表現から科目IDの数字文字列の配列に変更しました。

・エンジョイ・シンプル・イングリッシュの設定を修正しました。

・その他

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

●関連作

試作ダウンローダー2号

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

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

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