arutema47's blog

書いたり書かなかったり。

OpenAIのWhisperを使って動画字幕を自動生成

目的

OpenAIが公開した文字起こしAIのWhisperを使って動画に字幕を自動生成します。

パーフェクトではないですが、十分実用的な日本語字幕が生成できます。

用意

github.com Python3.7+とpytorch1.0+環境が必要。ローカルがなくてもcolabで十分動くと思います。

pip install git+https://github.com/openai/whisper.git # whisperインストール
sudo apt install ffmpeg # ffmpegインストール

Whisper 実行

動画test.mp4の字幕生成するとします。

# ffmpegを使い動画から音声データ抽出
ffmpeg -i test.mp4 -acodec libmp3lame -ab 256k audio.mp3

# Whisper実行
whisper audio.mp3
# Whisper実行(モデル精度変更)
whisper audio.mp3 --model medium

# 字幕動画生成
ffmpeg -i test.mp4 -vf subtitles=audio.mp3.srt test_subtitle.mp4

モデル性能は以上のようにまとまってます。 試した感じmedium辺りがミスが少ない精度です(英語であればbase程度でも性能高いです)