オフライン動画要約ツール

機密動画をネットワーク遮断下で安全に文字起こし・要約する手順書

このツールの目的

会議録画・説明会動画などの機密性のある動画を、一切の外部通信なしでテキスト化・要約します。 すべての処理はローカルPC上で完結するため、データ漏洩のリスクがありません。

動画ファイル.mp4 / .mov 等
ffmpeg音声抽出
Whisper文字起こし
Ollama要約
テキスト出力.txt

0 事前準備(初回のみ・オンラインで実施)

以下のソフトウェアを事前にインストールしてください。
モデルのダウンロードにはインターネット接続が必要ですが、一度DLすれば以降はオフラインで使用できます。

必要なソフトウェア

ソフト用途インストール方法
Python スクリプト実行 python.org からDL
ffmpeg 動画から音声抽出 gyan.dev からDL → PATHに追加
OpenAI Whisper 音声→テキスト変換 pip install openai-whisper
Ollama ローカルLLMで要約 ollama.com からDL

Whisperモデルのダウンロード

コマンドプロンプトで以下を実行(初回実行時に自動DLされますが、事前にDLしておくと安心です):

py -c "import whisper; whisper.load_model('medium')"
モデルサイズ精度速度(1時間動画/CPU)推奨
base145 MB約10分テスト用
small484 MB約20分速度重視
medium1.5 GB約40分推奨
large-v33.1 GB最高約90分精度重視

Ollamaモデルのダウンロード

ollama pull gemma2

約5GBのダウンロードです。完了まで待ってください。

確認コマンド すべてのインストールが完了しているか確認:
where ffmpeg && py -c "import whisper; print('OK')" && ollama list

1 文字起こし(Whisper)

動画ファイルから音声を抽出し、テキストに変換します。
この処理はオンラインのままで実行してもOKです(Whisperはローカル処理のため外部通信しません)。

実行方法

py C:\Users\kawag\work\video_summarizer.py "動画ファイルのパス"

py C:\Users\kawag\work\video_summarizer.py "C:\Users\kawag\Downloads\説明会.mp4"

オプション

オプション既定値説明
--modelmediumWhisperモデル(base / small / medium / large-v3)
--languageja言語コード(ja=日本語, en=英語)
--output自動生成出力ファイルパス

出力ファイル

動画と同じフォルダに {ファイル名}_transcript.txt が生成されます。

所要時間の目安(CPU処理) 1時間の動画で medium モデル使用時、約30〜60分かかります。
PCをスリープさせないよう注意してください。

2 ネットワーク切断

要約処理を行う前に、必ずネットワークを切断してください。
バッチファイルはネットワーク接続中だと自動で処理を中止する安全機能を備えています。

切断方法

  1. タスクバー右下の ネットワークアイコン をクリック
  2. 機内モード を ON にする
  3. Wi-Fi / 有線LAN 両方が切断されていることを確認
重要:なぜネットワークを切断するのか Ollama自体はローカル処理ですが、万が一の通信を完全に防ぐため、物理的にネットワークを遮断します。 これは defense-line(防衛ライン)の「秘匿情報処理フロー」に準拠した手順です。

3 要約実行(Ollama)

文字起こしテキストをローカルLLMで要約します。

方法A:ドラッグ&ドロップ(推奨)

  1. エクスプローラーで文字起こしファイル(_transcript.txt)を探す
  2. そのファイルを C:\Users\kawag\work\offline_summarize.batドラッグ&ドロップ
  3. コマンドプロンプトが開き、自動で要約が始まる

方法B:コマンドライン

C:\Users\kawag\work\offline_summarize.bat "文字起こしファイルのパス"

C:\Users\kawag\work\offline_summarize.bat "C:\Users\kawag\Downloads\説明会_transcript.txt"

出力ファイル

同じフォルダに {ファイル名}_summary.txt が生成されます。

要約の構成:

  1. 概要(3〜5文)
  2. 主要なトピック(箇条書き)
  3. 重要な決定事項・アクションアイテム
  4. 参加者・発言者の情報
安全機能 バッチファイルは実行前にネットワーク接続を自動チェックします。
オンライン状態では処理が中止され、切断を促すメッセージが表示されます。

4 完了後の作業

クイックリファレンス

# --- 全手順まとめ --- # Step 1: 文字起こし(オンラインOK) py C:\Users\kawag\work\video_summarizer.py "動画.mp4" # Step 2: 機内モード ON # Step 3: 要約(オフライン必須) C:\Users\kawag\work\offline_summarize.bat "動画_transcript.txt" # Step 4: 機内モード OFF

ファイル構成

ファイル役割
C:\Users\kawag\work\video_summarizer.py 動画→文字起こし(ffmpeg + Whisper)
C:\Users\kawag\work\offline_summarize.py 文字起こし→要約(Ollama)+ ネットワークチェック
C:\Users\kawag\work\offline_summarize.bat 要約のバッチファイル(ドラッグ&ドロップ対応)

対応ファイル形式

以下の動画・音声形式に対応しています:

種別拡張子
動画.mp4, .mov, .avi, .mkv, .webm
音声.mp3, .m4a, .wav, .flac

よくある質問

文字起こしの精度が低い場合は?

--model large-v3 を指定してください。処理時間は2倍程度になりますが、精度が向上します。

py C:\Users\kawag\work\video_summarizer.py "動画.mp4" --model large-v3
英語の動画を処理したい場合は?

--language en を指定してください。

py C:\Users\kawag\work\video_summarizer.py "video.mp4" --language en
Ollamaが起動していないと言われる場合は?

スタートメニューから「Ollama」を起動してください。タスクトレイにアイコンが表示されれば起動完了です。
機内モードでもOllamaはローカルで動作します。

処理中にPCがスリープしてしまう場合は?

Windowsの設定 → システム → 電源とバッテリー → 画面とスリープ で、スリープまでの時間を「なし」に設定してください。処理完了後に元に戻すのを忘れずに。

別のLLMモデルを使いたい場合は?

オンライン時に ollama pull モデル名 でDLし、要約時に --model モデル名 を指定してください。

# 例: llama3 を使う場合 ollama pull llama3 C:\Users\kawag\work\offline_summarize.bat "transcript.txt" # → バッチ内のモデル名を変更するか、直接Pythonスクリプトを実行: py C:\Users\kawag\work\offline_summarize.py "transcript.txt" --model llama3
文字起こしだけで要約は不要な場合は?

Step 1(video_summarizer.py)だけを実行すれば、タイムスタンプ付きのテキストファイルが得られます。
Step 2〜3 は不要です。この場合、ネットワーク切断も不要です。