video-to-llm
あなたのLLMは40時間のコースを見ることはできません。アップロードは遅く、高価で、許可されていないこともよくあります。自分でフレームを抽出すると数百万トークンがかかり、音声は捨てられてしまいます。
video-to-llm は各動画を1つの時系列ドキュメントに変換します。音声、マークされた無音、セクション見出し、必要に応じて画面に表示されていた内容まで、発生した順序ですべてが並び、各行にはそれが取得された正確なフレームに解決できるタイムスタンプが付いています。
一度実行するだけです。フォルダを保持している限り、好きなだけ、好きなモデルに、好きな数の質問ができます。
クイックスタート
uvx video-to-llm process lecture.mp4 --transcribe-model tinyこれが動作を確認する最も速い方法です。tiny 音声モデルはデフォルトの 1.4 GB ではなく 75 MB のダウンロードなので、アウトプットが好みかどうかを確認するためのダウンロード待ちをすることなく、約1分で実際のドキュメントを入手できます。気に入ったら、フラグを外してください:
uvx video-to-llm process lecture.mp4まだPyPIからインストールできません。 名前は登録されていますが、インデックスにインストールする価値のあるものはありません。公開された唯一のリリースである
1.0.0rc1は、collections モジュールが欠落した状態で公開され、撤回されています。1.0.0 がリリースされるまでは、リポジトリをクローンしてuv syncを実行し、その後uv run video-to-llm process lecture.mp4 --transcribe-model tinyを実行してください。
PATH に FFmpeg が必要です — バージョン4から9まで、すべて動作しました。音声モデルは初回使用時に一度だけダウンロードされ、その後はネットワークに一切触れません。
video-to-llm doctor # check this machine is readytiny は高速ですが、精度は著しく低くくなります。medium がデフォルトなのは、文字起こしを保存する価値がある最小のモデルだからです。--transcribe-model は base、small、large-v3 も受け付けます。
Related MCP server: klaket-mcp
得られるもの
これは実際の出力です — デフォルト構成での実際の49分間の録音からの実際の行です:
00:01:30 [nobody speaking · 11 seconds]
00:01:40 Yep, just so that you know, the first thing you'll do is you'll take everything out of
00:01:48 your chart.
00:01:49 When you're going to analyze the chart.
00:01:54 [nobody speaking · 4 seconds]
00:01:58 I think all of you know what trends are, right?
00:02:01 You're either going up or you're either coming down. Very simple, right?
00:02:05 But when you look at trends in terms of structure, what we are looking for is the basic.それが成果物全体です: プレから Quality、時系列、ソースに対するタイムスタンプ付き、あなたのものになります。任意のモデルに渡して。grep して。10年間保存してを。
任意の行を確認する
すべてのタイムスタンプは、その背後にある画像に解決します:
video-to-llm show lecture 00:02:05lecture.mp4 — 00:02:05
in job 'lecture'
00:02:01 You're either going up or you're either coming down. Very simple, right?
> 00:02:05 But when you look at trends in terms of structure, what we are looking for is the basic.
Picture: ~/Documents/VideoToLLM/lecture/…/frames/000062_t000124.jpgモデルが行う主張は、それを確認できる場合にのみ証拠になります。これがその方法です。
比較
正直な両方向 — これが間違ったツールである場合も含みます。
video-to-llm | クリップツール ( | 動画をアップロード | |
動画時間 | 数時間。49分 / 48分、 1,488フレームと15時間のコースでテスト済み | 数分; デフォルトで50〜150のフレーム — — — — — — — — — — — — | |
2番目の質問をする | 無料で瞬間 — ドキュメントを再利用 | 再ダウンロードして再処理 | 再アップロードまたは再支付 |
ジョブ途中のクラッシュからの回復 | はい、正確な段階から再開します | いいえ | 該当なし |
複数の動画、1つの順序付きドキュメント | はい | いいえ | いいえ |
マシンの外に出る | ジョブごとにオプトインしない限り、決して | さまざま — | 完全に |
音声言語 | 任意 — 自動で検出、または | さまざま; | 任意 |
コスト管理 | 各リクエストの前に上限をチェック | なし | 呼び出しごとに支払い |
フレームへのクレーム引用 | はい | いいえ | いいえ |
セットアップ時間 | 数分: FFmpeg と 75 MB のモデル | 数秒 | 数秒 |
1つのクイッククリップ | 過剰 — 別のツールを使う | 理想 | 理想 |
2026年8月21日にそれらのプロジェクト自身のドキュメントを確認しました。それらは変更されます。ここが古くなったら、それを報告する価値のあるバグです。
使い方
コマンドラインから
video-to-llm process lecture.mp4 # one video
video-to-llm process w1.mp4 w2.mp4 --name "Course" # several, in your order
video-to-llm process talk.mp4 --interval 5 # fewer pictures, faster
video-to-llm process demo.mp4 --describe local # add screen descriptions
video-to-llm process talk.mp4 --format jsonl # also emit structured data
video-to-llm show "Course" 01:12:30 # resolve a citation
video-to-llm export "Course" --format srt # subtitles, no reprocessing
video-to-llm status # what is done, what is running
video-to-llm run-next "Course" # jump the queueエージェントから
video-to-llm mcp # MCP server on stdio; needs the [mcp] extra4つのツール — process_video、list_videos、get_transcript、get_segment。 process_video は冪等です: すでに完了済みの動画を要求されると、再び処理を行う代わりに既存のドキュメントを返します。それがすべてのポイントです。40時間のコースを一度処理します; その後のすべての質問は即座で、オフラインで、無料です。
エージェントはこれらのツールを通じて有料の説明サービスを選択できません。その決定は、見積もりと支出限度額が表示される設定画面に属します。
スキルもあります。これは、高価なことを行う前に、すでに処理済みのものを確認するようエージェントに教えます:
npx skills add navdeep-h-singh/video-to-llm -gこれは Codex、Cursor、Copilot、Gemini CLI、その他 Agent Skills を読むすべてのもので動作しました。Claude Code の場合、プラグインがスキルと MCP サーバーをまとめて登録します:
/plugin marketplace add navdeep-h-singh/video-to-llm
/plugin install video-to-llm@video-to-llmブラウザから
video-to-llm start127.0.0.1 上のインターフェースであり、ライブ進行状況、フレームレビューア、ジョブ制御、コレクションビルダーを備えています。ブラウザを閉じてもジョブは停止しません。
コレクション
複数の処理済み動画 — 別途指定した順番で、1つのドキュメント、またはコンテキストウィンドウに収まるサイズの番号付きパーツに結合されます。コレクションのビルドは 既存の出力を再利用 — フレームを再抽出、音声を再文字起こし、説明を再実行は決してしません。
順序がファイル名、日付、内容から推測されることはありません。同じ朝の2つの録画には本質的な順序がないため、あなたがそれを言います。
プライバシー、メカニズムとして
約束ではなく — これらのプロパティのセットと、後退したときに失敗するテストを提供します。
インターフェースは
127.0.0.1にバインドされ、アプリケーションの構築時に中断されます。すべての書き込みで、外部の
Hostと外部のオリジンを拒否する1つのミドルウェアがあります。すべての書き込みで、外部の
Hostと外部のオリジンを拒否する1つのミドルウェアがあります。ページはオフオリジンのリソースをロードしません。CDN、Web フォント、アナリティクスはありません。
ソース動画はコピーされず、移動されず、アップロードされません。
キーは OS のキーチェーン — macOS Keychain、Windows Credential Manager、Linux Secret Service に保存されます。平文のフォールバックは作成されません。また、保存されたキーはプレフィックスさえも再表示されません。
アカウント、テレメトリ、ログインする必要がない内容はありません。
説明はデフォルトで無効です。説明を無効にしたジョブはネットワークリクエストを一切行いません。
ローカルがクラウドに静かにフォールバックすることはありません。
オプション: 画面の説明
デフォルトではオフ。オンにすると、自分の Ollama 用モデル(フレームはデバイスに残り、費用はかかりません)と、サービス(Claude、Gemini、OpenAI、または OpenAI 互換・Anthropic 互換エンドポイント)の use betweenを選択できます。サービスは番号付きの静止画のみを受け取り、動画や音声は絶対に受け取りません。送信前に何が送信され、およそいくらかかるかが表示され、設定した上限で処理が停止します。
要件
Python 3.11、3.12、または 3.13
PATHにffprobeを含む FFmpeg音声モデルのためのスペース —
tinyは 75 MB、デフォルトのmediumは 1.4 GB — に加えてフレーム用スペース: 2秒に1枚の画像で 2時間の動画は約 2 GB
GPU はどこでもオプションです。働文字起こしはすべてのプラットフォームで CPU で実行されます。
FFmpeg 9 は問題ありません。 9 は FFmpeg の 5 以前のすべてが必要としていた -vsync を削除しました; 抽出処理はバージョンを一度読み取りずき、そのビルドが受け入れるフラグを求めます。4.x から 9.x まですべて動作します。video-to-llm doctor は見つけたたバージョンと使用するフラグを表示します。ここでの開発は 8.1.2 に対して行われました; 残りは引数リストのテストと CI マトリックスカバーされています。
その他のインストール方法
uv tool install video-to-llm # or: pipx install video-to-llm
uv sync # from a clone
docker build -t video-to-llm . # command line only, see the Dockerfile既知の制限
発見されるに任せるのではなく、ここに意図的に保持しています。
...
This server cannot be deployed
Maintenance
Related MCP Connectors
Transcripts, summaries, chapters and timestamped answers for video links, for AI agents.
Local ML: speech to text (SRT/VTT), text embeddings, reranking, similarity, entities, zero-shot.
151YouTube transcripts, search, channel/playlist listings and upload tracking for AI agents.
Video knowledge base for agents: search your library's transcripts, keyframes and on-screen text.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query local video timelines by extracting speech, frame captions, and on-screen text into a SQLite store, exposing search and retrieval tools via MCP.PolyForm Noncommercial 1.0.0
- AlicenseAqualityDmaintenanceLet AI agents watch videos: local transcripts, speaker labels, scenes, chapters and exact-moment search from any video URL or file. Fully local, no API keys.43AGPL 3.0
- AlicenseNot gradedqualityAmaintenanceLets any LLM agent actually watch videos: a watch_video tool takes a URL or local file and returns scene-aware keyframes fused with a timestamped transcript, processed 100% locally with per-source caching.783 PyPI2,209MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to download, convert, and visually analyze videos by providing timestamped frames and locally transcribed speech, all without API keys.MIT