日本語トーク動画からローカルで文字起こしし、フィラー除去、字幕編集、波形タイミング補正、SRT書き出しまで行うWebアプリです。
macOSでffmpegが無い場合だけ先に入れてください。
brew install ffmpegPython 3.12で仮想環境を作り、依存パッケージを入れます。
python3.12 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txtPORT=8510 python run.pyブラウザで http://localhost:8510 を開きます。PORT 未指定時も 8510 で起動します。
- 動画ファイルのパスを入力して「パス読込」、または動画ファイルをアップロードします。
- Whisperモデルを選び「文字起こし」を押します。初回は
models/配下にモデルをダウンロードします。 - フィラー除去リストと1行最大文字数を調整できます。「分割ルールのみ再適用」は文字起こしをやり直しません。
- 字幕リストでテキスト、開始秒、終了秒を直接編集できます。行の分割、結合、検索、置換、一括置換、Undo/Redoが使えます。
- 「波形でタイミング補正」で音声区間に合わせて開始・終了秒を補正します。
- 「SRT」から現在の字幕をSRT形式で書き出します。
プロジェクトは .telop-data/ 配下に自動保存され、再起動後は直近のプロジェクトを自動で読み込みます。
AI精査は任意機能です。未設定でも文字起こし、編集、波形同期、保存、SRT書き出しは動きます。送信されるのは字幕テキストだけで、音声・動画は送信しません。
Ollamaを使う場合:
AI_REVIEW_PROVIDER=ollama OLLAMA_MODEL=llama3.1 PORT=8510 python run.pyOpenAI互換のChat Completions APIを使う場合:
AI_REVIEW_PROVIDER=openai OPENAI_API_KEY=... AI_REVIEW_MODEL=gpt-4o-mini PORT=8510 python run.py互換APIのURLを変える場合は AI_REVIEW_BASE_URL を指定します。AI精査のHTTPタイムアウトはデフォルト300秒です。推論に時間がかかるモデルを使う場合は AI_REVIEW_TIMEOUT=600 のように秒数で指定できます。
- 作業データ:
.telop-data/ - Whisperモデル:
models/faster-whisper/ - Hugging Faceキャッシュ:
models/huggingface/
.venv/bin/python -m pytest tests -q
node --check app/static/app.jsstdio MCPサーバーを起動:
.venv/bin/python mcp_run.py公開ツール: list_presets / start_transcription / start_burnin / start_subtitled_video / get_job / cancel_job
Claude Code への登録:
claude mcp add telop-codex -- <repo>/.venv/bin/python <repo>/mcp_run.pycodex(~/.codex/config.toml):
[mcp_servers.telop-codex]
command = "<repo>/.venv/bin/python"
args = ["<repo>/mcp_run.py"]環境変数 TELOP_MCP_DATA_DIR でMCP専用データディレクトリを指定できる(既定 .telop-data-mcp/)。