0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VibeとFFmpegで動画に字幕を付ける

Posted at

ローカル動作・完全無料の文字起こし

動画に字幕を付ける場合、動画ソフト付属の文字起こし機能(Corel VideoStudioなど)や、クラウド型の文字起こし+動画編集サービス(Vrewなど)を使う方法がある。
前者は買い切りとはいえ初期費用が発生し、精度もいまいち。後者は一定時間まで無料、それ以上が有料となっているものが多いようだ。

しかし、最近になって、OpenAIの文字認識モデル、Whisperを利用した自動文字起こしソフトも出現している。
Vibeがその一つだ。

さらに、FFmpegも8.0でWhisperを用いた文字起こし機能が追加予定だという。

今回はVibeとFFmpegを利用して、動画に字幕を付ける方法を解説する。

Vibe

インストールについてはGIGAZINEの記事を参考にしてほしい。

初回起動時にLarge V3 Turboモデルがダウンロードされる。約1.5GB。
vibe1.png

今回は、「簡単に分かるクリエイティブ・コモンズ」の動画に字幕を付けてみることにしよう。

Vibeの文字起こしは、マイク入力、ファイル入力、URL入力の3種類から選べる。

動画を予めダウンロードしてからファイル入力してもよいし、
vibe2.png

YouTubeであればURLを直接指定してもよい。yt-dlpで動画音声がダウンロードされた後、文字起こしを行える。
vibe3.png

文字起こしが終わると、下のウィンドウに結果が表示される。
vibe4.png

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

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

試しにvlcで再生するとこんな感じに字幕を表示できる。
vibe7.png

FFmpegで字幕を合成

-vfオプションでsrtファイルを指定すれば、動画に字幕を埋め込むことができる(Windowsだと-vfオプションの後はダブルクォーテーションで括るが、環境によってはシングルクォーテーションでもよい)。

srt
ffmpeg -i cc.mp4 -vf "subtitles=cc.srt" cc_srt.mp4

vibe8.png

別解として、いったんassファイルに変換した後、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は字幕ファイルの読み込みも可能であるため、最後にその方法を解説する。

動画読み込み時、音声分析をオフにする。
vibe9.png

字幕→字幕ファイルを読み込む
vibe10.png

読み込める形式はsrtのみ
vibe11.png

タイムスタンプも含め読み込まれる。クリップ上段は??になるが、この状態でもタイミングの微調整は可能である。
vibe12.png

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?