目的
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程度でも性能高いです)