8
実装済みコマンド
日本語
自然言語操作
配信対応
リアルタイム字幕・ダイジェスト
特徴
- 自然言語でFFmpegを操作 - 「720pに変換して」「音声を削除」など日本語で指示
- バズ箇所自動検出 - LLMが動画から「シェアされそうな部分」を特定
- 字幕自動生成 - 文字起こし→LLM校正→SRT出力 or 焼き込みまで全自動
- メタデータ生成 - タイトル案・タグ・説明文をAIが一括生成
- サムネ素材出し - 映えるシーンを自動抽出+キャッチコピー案
Module 1: FFmpeg Assistant
「FFmpegコマンドを調べる」ストレスを解消。自然言語で指示するだけ。
機能
- 日本語指示 → FFmpegコマンド自動生成
- 実行前確認(--dry-run)対応
- 複雑なフィルタも自然言語で指定可能
使い方
# 基本
python main.py ffmpeg "720pに変換して" -i input.mp4 -o output.mp4
# 確認なしで実行
python main.py ffmpeg "音声を削除" -i input.mp4 -o silent.mp4 -y
# コマンド確認のみ(実行しない)
python main.py ffmpeg "最初の30秒だけ切り出し" -i input.mp4 --dry-run
変換例
入力: "ノイズ除去して明るくして"
出力: ffmpeg -i input.mp4 -af "afftdn=nf=-20" -vf "eq=brightness=0.1" output.mp4
Module 2: Clip Cutter
「どこを切り出せばバズるか」をLLMが判断。
機能
- Whisper音声認識でトランスクリプト生成
- LLMが「シェアされそうな部分」を特定
- 自動切り出し&ファイル生成
使い方
# 5箇所自動切り出し
python main.py clip -i long_video.mp4 -n 5 -o ./clips
# 秒数指定
python main.py clip -i video.mp4 -n 3 --min-duration 20 --max-duration 45
判断基準(LLMプロンプトで調整可能)
- 感情の振れ幅が大きい箇所
- ユーモア・驚き・共感を誘う発言
- 議論を呼びそうな主張
- 完結した話題で切り取りやすい部分
Module 3: Auto Caption
字幕入れの「手動修正地獄」を解消。AIが校正→焼き込みまで全自動。
機能
- Whisper文字起こし + LLM校正で高精度
- SRTファイル出力(編集ソフトで読み込み可)
- 動画への直接焼き込み対応
使い方
# SRT出力
python main.py caption -i input.mp4 -o output.srt
# 動画に焼き込み
python main.py caption -i input.mp4 -o output.mp4 --burn
# 高速モード(LLM校正スキップ)
python main.py caption -i input.mp4 -o output.srt --no-correct
Module 4: Auto Tag
「タグ20個考えて…」「SEO対策が…」から解放。動画食わせるだけ。
機能
- タイトル案5個生成
- 最適化タグ20個生成
- 説明文・要約の自動生成
- ジャンル別最適化(gaming/vlog/tech等)
使い方
# 基本
python main.py tag -i input.mp4
# ジャンル指定で最適化
python main.py tag -i input.mp4 --genre gaming
# JSON出力
python main.py tag -i input.mp4 -o metadata.json
Module 5: Thumbnail Candidates
サムネ素材探しを自動化。AIが映えるシーンを判定してフレーム抽出。
機能
- サムネ向きシーンの自動判定
- 指定枚数のフレーム抽出
- キャッチコピー案の生成
- トーン指定(funny/serious/clickbait)
使い方
# 5枚抽出
python main.py thumbnail -i input.mp4 -o ./thumbnails
# 10枚 + クリック誘発系コピー
python main.py thumbnail -i input.mp4 -n 10 --tone clickbait
※最終的なサムネイル作成は人間が行う想定(素材出しまでがAIの役割)
Module 6: Archive Highlight
配信アーカイブから「盛り上がった箇所」を自動検出し、クリップとして切り出し。
機能
- 音量ピーク検出(笑い声、歓声)
- コメントログ連携(コメント急増箇所)
- YouTubeタイムスタンプ自動生成
- 切り抜き師の素材探し時間を大幅削減
使い方
# 基本(5クリップ抽出)
python main.py highlight -i archive.mp4 -o ./highlights
# コメントログ連携(精度向上)
python main.py highlight -i archive.mp4 -c comments.json -n 10
Module 7: Live Caption
配信中にリアルタイムで字幕を生成し、OBSに送信。
機能
- Whisper高速版(faster-whisper)使用
- OBS WebSocket 5.x対応
- 2秒以内の遅延で字幕表示
- 自動フェードアウト
使い方
# OBS起動後
python main.py live-caption --source "字幕"
# モデル・パスワード指定
python main.py live-caption --source "字幕" --model small --obs-password "secret"
※OBS側でテキストソースを作成し、WebSocketサーバーを有効化しておく
Module 8: Stream Digest
ハイライト箇所を繋いで、5-10分のダイジェスト動画を自動生成。
機能
- archive-highlightと連携
- タイトルカード自動生成
- トランジション追加(オプション)
- 再エンコードなし高速連結
使い方
# 基本(10ハイライトを連結)
python main.py digest -i archive.mp4 -o digest.mp4
# タイトル付き + トランジション
python main.py digest -i archive.mp4 --title "配信ダイジェスト" --transition
技術スタック
| カテゴリ | 技術 |
|---|---|
| 言語 | Python 3.11+ |
| 動画処理 | FFmpeg |
| 音声認識 | OpenAI Whisper |
| LLM | Claude API (Anthropic) |
必要環境
- Python 3.11+
- FFmpeg(システムにインストール済み)
- Anthropic API Key
クイックスタート
# クローン
git clone https://github.com/takawasi/llm-video-toolkit.git
cd llm-video-toolkit
# 仮想環境作成
python3 -m venv venv
source venv/bin/activate
# 依存関係インストール
pip install -r requirements.txt
# 環境変数設定
export ANTHROPIC_API_KEY="your-api-key"
# 動作確認
python main.py --help