Skip to main content
Glama

あなたの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 を実行してください。

PATHFFmpeg が必要です — バージョン4から9まで、すべて動作しました。音声モデルは初回使用時に一度だけダウンロードされ、その後はネットワークに一切触れません。

video-to-llm doctor          # check this machine is ready

tiny は高速ですが、精度は著しく低くくなります。medium がデフォルトなのは、文字起こしを保存する価値がある最小のモデルだからです。--transcribe-modelbasesmalllarge-v3 も受け付けます。

Related MCP server: video-reader-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:05
lecture.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

クリップツール (/watchclaude-real-video)

動画をアップロード

動画時間

数時間。49分 / 48分、 1,488フレームと15時間のコースでテスト済み

数分; デフォルトで50〜150のフレーム — — — — — — — — — — — —

2番目の質問をする

無料で瞬間 — ドキュメントを再利用

再ダウンロードして再処理

再アップロードまたは再支付

ジョブ途中のクラッシュからの回復

はい、正確な段階から再開します

いいえ

該当なし

複数の動画、1つの順序付きドキュメント

はい

いいえ

いいえ

マシンの外に出る

ジョブごとにオプトインしない限り、決して

さまざま — claude-real-video はローカルで文字起こし、 /watch は動画に字幕がない場合に音声を Groq や OpenAI に送信

完全に

音声言語

任意 — 自動で検出、または --language で指定

さまざま; /watch は英語の字幕を要求

任意

コスト管理

各リクエストの前に上限をチェック

なし

呼び出しごとに支払い

フレームへのクレーム引用

はい

いいえ

いいえ

セットアップ時間

数分: 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] extra

4つのツール — process_videolist_videosget_transcriptget_segmentprocess_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 start

127.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

  • PATHffprobe を含む 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

既知の制限

発見されるに任せるのではなく、ここに意図的に保持しています。

...

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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
  • A
    license
    A
    quality
    B
    maintenance
    Let 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.
    4
    2
    AGPL 3.0

View all related MCP servers

Related MCP Connectors

  • 15 media & data tools for AI agents: search, transcribe, subtitles, voiceover, translate & more.

  • Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.

  • Extract YouTube transcripts, search what was said, and read on-screen frames with cited timestamps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/navdeep-h-singh/video-to-llm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server