Vライバーで二次創作しようとしたときとかに、設定が知りたいけど過去動画全部見てたら一ヶ月終わるだろ! 動画をテキスト変換して彼女たちの国のこと知りたい! とか思ったことはありませんか。私はあります。
更新履歴
2020-10-10 時間をhhh:mm:ss形式に整形したバージョンを追加
従来の方法で動画の文字起こしを作る
もちろん寄付ウェアのVB-CABLEとGoogle Documentで文字起こしを試みたりしました。
やってみるとわかりますが、リアルタイム書き起こしはこの間ずっとPCが占領されます。
さすがに4時間とかあるデータの書き起こしでPC使えなくなると困りますよね。
Youtubeの字幕をコピーしたい
そんななか、YouTubeでアップロードされた動画の字幕が見れることを知りました(非公開でアップロードしても取得できるそうです)。
保存ボタンの隣の[…]ボタンをクリックすると文字起こしパネルが出てくるのです。
よし、もうこれ取得しちゃおうぜ。(ドラッグ+選択+コピーするのめんどうだし)
JavaScriptはそこそこなんでもできる
web上にあるテキストはだいたいjsで取れるはずなのでとってみます。
タグ構造を見ると、どうやら ytd-transcript-body-renderer というタグの中に字幕が全部入ってるみたいなのでgetElementsByTagNameでタグを取得して1個目のデータのinnerTextを出します。
いつも同じことをやってる気がしますが大目に見て下さい。
var text = document.getElementsByTagName('ytd-transcript-body-renderer') console.log(text[0].innerText);
取れるテキストとか
上記のスクリプトをコンソールで実行した様子です。
人名はどんな変換されるかわからないですが、アンジュとかカタカナのキャラならギリとれるかな…。とこちゃんは取れてたようです。
ここに写ってませんか、笹木さんは佐々木さんって変換されてたのでつらいところですね。
GoogleChoromeの場合、コンソールの[Copy]という文字列をクリックするとクリップボードにコピーされます。
こういう感じで取れます。4800行ぐらいありました。(読むのたいへんだ…)
00:25 ています 00:26 持った 00:28 ん 00:30 [音楽] 00:42 [音楽]
今回の検証に使用した動画です。
不思議なことに皇女がいればどの動画でも楽しく感じられます。
リゼアンWeekはこれから見ます。さんばかと笹木さんが好き。
おまけ
時間をhhh:mm:ss形式に整形したバージョンのjsを作りました。こっちのほうが見やすいとは思います。
// 字幕取得 let text = document.getElementsByTagName('ytd-transcript-body-renderer')[0].innerText.replaceAll(" ", ""); let list = text.split("\n"); let data = ""; let cnt = 0; for(let i=0;i<list.length;i++){ if(list[i] === "") continue; if(cnt % 2 === 0){ // 時間 let min = list[i].split(":")[0]; let sec = list[i].split(":")[1]; let hour = Math.floor(min / 60); min = min - hour * 60; data += addZero(hour) + ":" + addZero(min) + ":" + addZero(sec) + "\t"; }else{ // 台詞 data += list[i] + "\n"; } cnt++; } console.log(data); function addZero(num){ return ("00"+num).slice( -2 ); }
表示されるテキストはこんな感じです。
03:51:49 道国内もインドな場合のほうなの販売今ヴィラ義母いるが c なんかが持ってきて 03:51:55 くれたよ母母員がいいかなと思ってかえええええ 03:52:01 そうそうなんか色々持ってきてくれたからだお酒といった抱いて 03:52:06 なぁ 03:52:08 can 03:52:09 主のんのみ変えはこっち金でぜひ 03:52:12 何を伊勢レイクガード a 03:52:15 eeg や楽しかった本当にいい 03:52:19 青いにクラゲがに息できなかねぇ 03:52:22 張海すごいよかったね本当に尿よかったらいい 03:52:29 1ルールキャンって言ったらねほら下追うのプロだと思ってるはず 03:52:34 いやーそんなはだけだけどね 03:52:38 いいねやっぱホラゲは英領2位投稿てなきゃうぜえ 03:53:09 はい
おわり。