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
LLMClaude 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