YouTube の字幕ファイルを保存するスクリプトを作りました。自動字幕作成機能や字幕翻訳機能によって作成された字幕も、たぶん取得できると思います。需要があるかどうかはわかりませんが、とりあえず置いておきます。
ZIP で固めてあります。下記リンクを右クリックして保存後、解凍してください。
YouTube の字幕保存のスクリプト
(2011.07.31 追記。
スクリプトを一部修正してアップし直しました。自動作成された日本語字幕に対応したかもしれません。)
スクリプトを一部修正してアップし直しました。自動作成された日本語字幕に対応したかもしれません。)
使い方
- ZIP を解凍すると、ytcaption.js というファイルがあると思うので、どこか適当なフォルダに放り込んでください。このフォルダに字幕ファイルを保存することになります。
- ytcaption.js をダブルクリック、ないし、右クリックから「開く」を選択すると、インプットボックスが表示されます。(Windows の WSH を利用して動作します)。
- インプットボックスに、字幕を取得しようとしている動画のページURLを入力します。OK をクリック。
- 字幕ファイル取得に成功すれば、終了のダイアログボックスが表示され、スクリプトのあるフォルダ内に、拡張子.xml の字幕ファイルが作成・保存されます。
- デフォルトでは、日本語字幕の字幕ファイルを取得するようになっています。その他の言語の字幕を取得するように設定するには、スクリプトの最初にある、//setting のあたり、LangCode の値を変更します。
- 日本語(ja)、英語(en)、韓国語(ko) など。
- XMLファイルのファイル名は、YouTube の videoId値 + 言語 + 字幕種です。字幕種は、"tx" → 字幕ファイル、"at" → 自動字幕作成機能、です。
- そのほか、使い方は、同梱の usage.txt を見てください。
YouTube の字幕XMLファイル→
Subrip形式の字幕ファイルへの変換。
Subrip形式の字幕ファイルへの変換。
- YouTube の字幕XMLファイルを、yt2srt.js ファイルのアイコン上へD&Dしてください。
- 変換に成功すると、終了のダイアログが出て、字幕XMLファイルと同一フォルダ内、同一ファイル名、拡張子が .srt のファイルが作成・保存されます。
日本語字幕を取得しているようにしている場合(LangCode="ja" の場合)、まず、YouTube 上に、その動画の日本語字幕ファイルがあれば、それを保存します。日本語字幕ファイルがない場合は、英語字幕ファイルを捜して、それがあれば、それを日本語に自動翻訳したものを取得します。英語字幕ファイルもない場合には、自動字幕作成機能により英語の字幕データを造り、これを日本語に自動翻訳したものを取得します。この機能も利用できな場合には、たぶん、code04 というエラーメッセージが出ると思います。
2011.03.26 追記。
YouTube の字幕ファイルを保存してくれるサイトを見つけました。
http://mo.dbidb.com/setting.html
です。
YouTube の字幕ファイルを保存してくれるサイトを見つけました。
http://mo.dbidb.com/setting.html
です。
- 取得する字幕の言語を選択。
- ページ上部にある入力欄に、字幕を取得したい YouTube のページ URL を入力。
- 入力欄の右隣にある緑色下向き矢印のアイコンをクリック。
- 自動的に srt(subrip形式)に変換された字幕ファイルが、zip に固められてダウンロードされます。
実は,YouTubeの英語字幕の単語の下に,ルビのように訳を表示するサービスをしております(用途は英語学習)。
現在は,字幕の保存されているサーバーから手動で取得し,専用のソフトを通して訳付けしていますが,自動化したいと考えています。
ソフトの性質上,字幕データを時間ごとに改行されたテキスト形式で取得したいのですが,可能でしょうか?
お分かりになるようでしたら,教えていただければ助かります。
よろしくお願いいたします。