ローカル動作・完全無料の文字起こし
動画に字幕を付ける場合、動画ソフト付属の文字起こし機能(Corel VideoStudioなど)や、クラウド型の文字起こし+動画編集サービス(Vrewなど)を使う方法がある。
前者は買い切りとはいえ初期費用が発生し、精度もいまいち。後者は一定時間まで無料、それ以上が有料となっているものが多いようだ。
しかし、最近になって、OpenAIの文字認識モデル、Whisperを利用した自動文字起こしソフトも出現している。
Vibeがその一つだ。
さらに、FFmpegも8.0でWhisperを用いた文字起こし機能が追加予定だという。
今回はVibeとFFmpegを利用して、動画に字幕を付ける方法を解説する。
Vibe
インストールについてはGIGAZINEの記事を参考にしてほしい。
初回起動時にLarge V3 Turboモデルがダウンロードされる。約1.5GB。

今回は、「簡単に分かるクリエイティブ・コモンズ」の動画に字幕を付けてみることにしよう。
Vibeの文字起こしは、マイク入力、ファイル入力、URL入力の3種類から選べる。
YouTubeであればURLを直接指定してもよい。yt-dlpで動画音声がダウンロードされた後、文字起こしを行える。

出力として選べるフォーマットはプレーンテキストの他、html, pdf, docxといった文書系、srt, vttといった字幕系、更にjson形式もある。

今回は動画字幕に使いたいので、srt形式を選んでファイルに保存する。

FFmpegで字幕を合成
-vfオプションでsrtファイルを指定すれば、動画に字幕を埋め込むことができる(Windowsだと-vfオプションの後はダブルクォーテーションで括るが、環境によってはシングルクォーテーションでもよい)。
ffmpeg -i cc.mp4 -vf "subtitles=cc.srt" cc_srt.mp4
別解として、いったんassファイルに変換した後、assファイル指定をする方法がある(生成結果は全く同じなので画像省略)。
ffmpeg -i cc.srt cc.ass
ffmpeg -i cc.mp4 -vf ass=cc.ass cc_ass.mp4
なお、srtファイルを-vfオプションで埋め込む際は、動画全体を通して書式を変更することが可能。別記事で紹介する予定。
assはファイル内で細かく書式の設定が可能である。
Vrewで字幕ファイルを使う
Vrewでの字幕作成に慣れた人は、文字起こしをVibeにやらせた上で動画編集のみVrewにさせたいという人もいるだろう。
Vrewは字幕ファイルの読み込みも可能であるため、最後にその方法を解説する。
タイムスタンプも含め読み込まれる。クリップ上段は??になるが、この状態でもタイミングの微調整は可能である。

Vrewの文字起こし機能と、Vibe経由の字幕ファイル読み込みを使い分けてもよいかもしれない。






