Whisper AIを使用した日本語動画の自動文字起こしと字幕焼き付けツールです。
- 🎯 日本語に最適化されたWhisperモデルによる高精度な文字起こし
- 📝 複数形式での出力(テキスト、JSON、SRT字幕)
- 🎬 動画への字幕自動焼き付け
- 📹 .mp4および.MOV形式の動画ファイルに対応
- 🐳 Dockerコンテナによる環境依存の解消
- 💾 モデルキャッシュによる2回目以降の高速起動
- 📦 複数動画のバッチ処理対応
- 🤖 OpenAI APIを使用したAI紹介文生成(オプション)
- macOS / Linux
- Docker または Podman
- メモリ: 4GB以上
- ディスク空き容量: 2GB以上(モデルダウンロード用)
# リポジトリをクローン
git clone https://github.com/yourusername/autosub.git
cd autosub
# Dockerイメージをビルド
make build# 動画ファイルを処理(.mp4 または .MOV)
make run SOURCE=~/Downloads/your_video.mp4
make run SOURCE=~/Downloads/your_video.MOV# スペース区切りで複数ファイルを指定(.mp4と.MOVを混在可能)
make run SOURCE="video1.mp4 video2.MOV video3.mp4"
# またはinputフォルダに直接配置して一括処理
cp *.mp4 *.MOV ./input/
make run処理が完了すると、output/<ファイル名>/ ディレクトリに以下のファイルが生成されます:
<ファイル名>.txt- プレーンテキストの文字起こし<ファイル名>.json- タイムスタンプ付きのJSON形式<ファイル名>.srt- SRT形式の字幕ファイル<ファイル名>_with_subs.mp4- 字幕が焼き付けられた動画<ファイル名>_introduction.txt- AI生成の紹介文(OpenAI API設定時のみ)
複数ファイルを処理した場合は、各ファイルごとに個別のフォルダが作成されます。
文字起こしから自動で紹介文を生成できます:
# .envファイルを作成
cp .env.example .env
# .envファイルを編集してOpenAI APIキーを設定
# 通常通り実行すると紹介文も生成されます
make run SOURCE=~/Downloads/interview.mp4デフォルトではPodmanを使用しますが、Dockerも使用可能です:
make build ENGINE=docker
make run SOURCE=~/Downloads/your_video.mp4 ENGINE=docker# 生成されたファイルを削除
make cleantranscribe.py の model_size 変数を編集することで、使用するモデルを変更できます:
- small - 高速だが精度は低め(約500MB)
- medium - バランス型(デフォルト、約750MB)
- large-v2 - 最高精度(約1.5GB)
# transcribe.py
model_size = "large-v2" # より高精度な文字起こし変更後は make build を実行してください。
システムメモリが不足しています。以下の対策を試してください:
- より小さいモデル(small)を使用する
- 他のアプリケーションを終了する
- スワップメモリを増やす
Podman/Dockerのネットワーク接続に問題がある場合:
# Podman machineを再起動
podman machine stop
podman machine start初回実行時はモデルのダウンロードに時間がかかります(medium: 約750MB)。
一度ダウンロードされると ~/.cache/huggingface にキャッシュされ、次回以降は高速に起動します。
- 入力処理: 動画ファイル(.mp4/.MOV)を
input/ディレクトリにコピー - 文字起こし: Whisperモデルで音声を解析
- 出力生成: テキスト、JSON、SRT形式で保存
- 字幕焼き付け: FFmpegで動画に字幕を合成
- ベースイメージ: Python 3.10-slim
- 主要ライブラリ: faster-whisper, FFmpeg
- 日本語フォント: Noto Sans CJK JP
- メモリ制限: 3GB + 3GBスワップ
- VADフィルタによる無音部分のスキップ
- beam_size=1による省メモリ化
- int8量子化による高速化
- モデルキャッシュによる再利用
MIT License
プルリクエストを歓迎します。大きな変更の場合は、まずissueを開いて変更内容について議論してください。
- OpenAI Whisper - 音声認識モデル
- faster-whisper - 高速化実装
- FFmpeg - 動画処理