字幕一覧(クリック)
(00:00:00) 〜無料でGem共有でvtt字幕生成〜
(00:00:14) 今回は、えーGem。Gemというのは、あのーGoogleのAIエージェントですけれども、
(00:00:24) それを使って、VTT字幕の生成を行うプログラムを作成したので紹介します。
(00:00:36) 動画の字幕作成については、これまで何度も取り上げてきました。
(00:00:43) でもまあ、なかなかここで満足ということにはなりませんが、
(00:00:48) 最近これが結構おすすめという方法を見つけましたので紹介します。
(00:00:56) 生成AIを使う方法です。
(00:01:00) サブスクなしで、お金を使わないでできる方法ですのでご心配なく。
(00:01:11) ただし、Googleアカウントは必要になります。
(00:01:16) まず、字幕を作りたい動画を用意します。
(00:01:21) 今回ですね、一つ10分弱の動画をですね用意しました。
(00:01:29) VTT作成用にこの動画を分割します。
(00:01:34) その理由はGeminiのGemを使うとき、特に無料アカウントで使うときは、
(00:01:42) 動画は5分以内という制限があるからです。
(00:01:49) この動画をですね、右クリックします。
(00:01:52) クイックアクション、このクイックアクションの中から、
(00:01:59) あらかじめ自作した「字幕用に動画を分割する」これを選びます。
(00:02:20) すると、分割する基本秒数を入れてください、と出てきます。
(00:02:28) デフォルトは270秒になっています。つまり4分30秒になっています。
(00:02:36) でもこれは4分30秒のところでバサッと分割するのではありません。
(00:02:44) 4分30秒付近で1秒間の無音になる部分を探して、
(00:02:51) その無音が開始する場所で分割するようになっています。
(00:02:58) 分割ファイルはsplit_01_02...と、いうように分割されていきます。
(00:03:31) えー、split_01、02、03と3つのファイルに分割されました。
(00:03:39) で、あと一つ、offsets.txtというファイルも出来上がってます。
(00:03:46) それではこのoffsets.txtというファイルを開いてみます。
(00:03:52) すると、ここにですね、分割したファイルの開始時刻が入っています。
(00:04:02) 01、02、03、ここにズレ0秒、ズレ245.130秒
(00:04:09) ズレ443.475秒となっています。
(00:04:19) これは後で使うことになります。まあ、あることだけを覚えておいてください。
(00:04:25) 一応これを見て、確かにそのそれぞれが5分以内で分割されていることは確認できます。
(00:04:35) 一つ目が245秒、二つ目が、まあ200秒ぐらい、三つ目はですね、
(00:04:44) 全体で9分41秒、つまり9分41秒、443秒だから、えー、
(00:04:53) 7分、7x6=42、7分ちょっとのところで終わりますので、
(00:05:04) あと残りが2分ちょっとですかね。その部分が03になるはずです。
(00:05:13) 確かに3つのファイルがですね、5分以内で分割されています。
(00:05:24) えっと、次にですね、Gemで作ったこのVTT形式のコードを作成するプログラムですね、
(00:05:37) これを開きます。これがそれです。
(00:05:45) えー、このGemはですね、公開してますので、ブログにつけます。
(00:05:53) モードはですね、あの、Proモードを選択してください。
(00:06:01) で、下のボックス、ここにですね、今作った分割された動画をドロップします。
(00:06:11) コピーアンドペーストします。まず一つ目コピー、
(00:06:18) ここにペーストします。で、ここに入れるのはただこれだけです。
(00:06:30) で、これでこの「Go」、送信の矢印を押してください。
(00:06:40) そうすると作業が開始します。しばらく待ちます。
(00:07:33) しばらく待ちますと、このようにVTTコードが出力されます。
(00:07:41) これをコピーして、拡張子がVTTのファイルにペーストします。
(00:07:54) えーと、これをコピーして、拡張子がVTTのファイルにペーストします。
(00:08:10) あの、このVTTファイルは、あらかじめ用意しておいてください。
(00:08:17) 私はあの以前に作ったVTTファイルをですね、コピペして名前を変えて、
(00:08:28) 中身を削除して作っておきました。この3つですね。
(00:08:33) それではこの01にですね、ペーストします。ここのコードをコピー。
(00:08:43) えー、そして、ファイルにペースト。という形ですね。
(00:08:58) 保存。ということで、01番ができました。
(00:09:14) 同じようにしてですね、02以降も作るんですけども、
(00:09:21) この同じセッションの中にですね、複数の動画があると、なかなかうまく受け付けてくれないので、
(00:09:30) 新しいセッションで同じことを繰り返すようにしてください。
(00:09:42) こういう形で新しいセッションを開きます。そしてこの02ですね。これをコピーして、
(00:09:57) 貼り付けます。Proモードにして、
(00:10:12) Proモードにして、送信します。
(00:10:38) はい、コードができました。そしたらこれをコピーして、
(00:10:47) 02番のVTTファイルにペーストします。
(00:11:12) 同じように03番も作ります。
(00:11:39) 送信。
(00:11:58) えーと、できましたのでコードをコピーして、
(00:12:06) 03VTTに貼り付けます。
(00:12:23) こうして作るとお気づきのように、02以降のですね、動画の時刻は0秒からの開始になってしまっています。
(00:12:39) 秒ずらしの作業を行います。
(00:12:45) この時に先ほど見たoffsets.txtの中の秒がずらし秒になってきます。
(00:12:58) vttファイルの上で右クリックしてクイックアクションから「字幕時刻の秒ずらしを行う」を選びます。
(00:13:22) ここでさっきの秒数を入れます。245.130秒。これ入れましてOKを押します。
(00:13:48) timeshifted.vttができて245.130秒、つまり4分何秒かを加算したファイルができあがってます。
(00:14:13) 同じように03も秒ずらしを行います。今度は443.475。同じようにファイルができてます。
(00:14:51) 7分24秒ぐらいのところからのスタートに置き換わっています。
(00:15:04) 秒ずらしが済んだら結合したvttファイルを作ります。あらかじめbinded.vttを用意します。
(00:15:17) この中に3つのvttファイルをコピペします。まず01は時刻ずれなしでそのままペーストします。
(00:15:45) 次に02_timeshifted.vttです。この連番以降のところをコピーして貼り付けます。
(00:16:18) 次に03_timeshifted.vtt、これも番号以降のところをコピーして貼り付けます。以上ですね。
(00:16:45) 全部1つのファイルにバインドされました。保存します。
(00:16:54) ところがこれはすでにお気づきのように1からスタートした箇所が3箇所あるわけですね。
(00:17:08) ここにもありますし、それから、
(00:17:15) あ、ここにもあると。3箇所あります。
(00:17:18) これを連番が全部通しで1番から開始するように、番号の振り直しをします。
(00:17:37) このbinded.vttの上で右クリックして、
(00:17:41) クイックアクションの中から、
(00:17:47) この「字幕VTTの連番を付け直す」、これを選びます。
(00:17:58) すると、renumbered.vttが出来上がります。
(00:18:07) これは1番からですね。ずっと連番で、
(00:18:18) 67番までですか。ここまで繋がってます。
(00:18:26) それで言葉遣いの修正とかテキストの修正は、ここまで形が整った後で行うのがいいと思います。
(00:18:38) 地味にコツコツとやる方法ではありますが、仕組みとして分かりやすいので作業のストレスは感じません。
(00:18:51) この方法が優れているのは、GeminiのGems、これの文字起こしの精度が非常に高いということです。
(00:19:03) 手直しするところはとても少ないです。満足できると思います。
(00:19:10) 以上、Gemsを使ったVTTコード作成の紹介でした。
(00:19:17) コード類はブログ記事に掲載しますのでご利用ください。
◆字幕背景の透明度の調整:設定→CC/字幕→カスタマイズ→背景→不透明度

