Atlas / Skills / affaan-m / Videodb

VideodbSAFE

skills/affaan-m/videodb

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
—
Hosts
—
License
MIT
Stars
264,831
01

Overview

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Read from source at commit fb3fb10d9622OBSERVED · 2026-09-22
02

Install

Commands as the repository documents them. They are shown, not run.

pip install "videodb[capture]" python-dotenv
pip install videodb python-dotenv
03

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: videodb
description: ビデオとオーディオの表示、理解、アクション。表示:ローカルファイル、URL、RTSP/ライブストリーム、またはリアルタイムのデスクトップ録画からコンテンツを取得し、リアルタイムコンテキストと再生可能なストリームリンクを返す。理解:フレームを抽出し、ビジュアル/セマンティック/時間的インデックスを構築し、タイムスタンプと自動クリップでモーメントを検索する。アクション:トランスコードと正規化(コーデック、フレームレート、解像度、アスペクト比)、タイムライン編集(字幕、テキスト/画像オーバーレイ、ブランディング、オーディオオーバーレイ、吹き替え、翻訳)、メディアアセットの生成(画像、オーディオ、ビデオ)、ライブストリームまたはデスクトップキャプチャされたイベントのリアルタイムアラートを実行する。
origin: ECC
allowed-tools: Read Grep Glob Bash(python:*)
argument-hint: "[task description]"
---

# VideoDBスキル

**ビデオ、ライブストリーム、デスクトップセッションのための知覚 + 記憶 + アクション。**

## ユースケース

### デスクトップ知覚

* **デスクトップセッション**を開始/停止し、**画面、マイク、システムオーディオ**をキャプチャする
* **リアルタイムコンテキスト**をストリーミングし、**セグメント化されたセッション記憶**を保存する
* 言われた内容と画面上で起きていることに対して**リアルタイムアラート/トリガー**を実行する
* **セッションサマリー**、検索可能なタイムライン、**再生可能な証拠リンク**を生成する

### ビデオ取り込み + ストリーミング

* **ファイルまたはURL**を取り込み、**再生可能なウェブストリームリンク**を返す
* トランスコード/正規化:**コーデック、ビットレート、フレームレート、解像度、アスペクト比**

### インデックス + 検索(タイムスタンプ + 証拠)

* **ビジュアル**、**音声**、**キーワード**インデックスを構築する
* **タイムスタンプ**と**再生可能な証拠**で正確なモーメントを検索して返す
* 検索結果から自動的に**クリップ**を作成する

### タイムライン編集 + 生成

* 字幕:**生成**、**翻訳**、**バーンイン**
* オーバーレイ:**テキスト/画像/ブランドロゴ**、動的キャプション
* オーディオ:**バックグラウンドミュージック**、**ナレーション**、**吹き替え**
* **タイムライン操作**によるプログラマティックなコンポジションとエクスポート

### ライブストリーム(RTSP)+ 監視

* **RTSP/ライブストリーム**に接続する
* **リアルタイムのビジュアルと音声理解**を実行し、監視ワークフロー向けに**イベント/アラート**を発する

## 仕組み

### 一般的な入力

* ローカル**ファイルパス**、公開**URL**、または**RTSP URL**
* デスクトップキャプチャリクエスト:**開始 / 停止 / セッションのサマリー作成**
* 目的のアクション:理解コンテキストの取得、トランスコード仕様、インデックス仕様、検索クエリ、クリップ範囲、タイムライン編集、アラートルール

### 一般的な出力

* **ストリームURL**
* **タイムスタンプ**と**証拠リンク**付きの検索結果
* 生成されたアセット:字幕、オーディオ、画像、クリップ
* ライブストリーム向け**イベント/アラートペイロード**
* デスクトップ**セッションサマリー**と記憶エントリ

### Pythonコードの実行

VideoDBコードを実行する前に、プロジェクトディレクトリに移動して環境変数をロードする:

```python
from dotenv import load_dotenv
load_dotenv(".env")

import videodb
conn = videodb.connect()
```

これにより以下から `VIDEO_DB_API_KEY` が読み込まれる:

1. 環境変数(エクスポートされている場合)
2. プロジェクトの現在のディレクトリにある `.env` ファイル

キーが欠けている場合、`videodb.connect()` は自動的に `AuthenticationError` を発生させる。

短いインラインコマンドで十分な場合はスクリプトファイルを書かない。

インラインPython (`python -c "..."`) を書く場合は、常に適切にフォーマットされたコードを使用する——セミコロンで文を区切り、読みやすくする。約3文以上の場合はheredocを使用する:

```bash
python << 'EOF'
from dotenv import load_dotenv
load_dotenv(".env")

import videodb
conn = videodb.connect()
coll = conn.get_collection()
print(f"Videos: {len(coll.get_videos())}")
EOF
```

### セットアップ

ユーザーが「videodbのセットアップ」などを要求した場合:

### 1. SDKのインストール

```bash
pip install "videodb[capture]" python-dotenv
```

Linuxで `videodb[capture]` が失敗する場合は、キャプチャ拡張なしでインストールする:

```bash
pip install videodb python-dotenv
```

### 2. APIキーの設定

ユーザーは**いずれかの**方法で `VIDEO_DB_API_KEY` を設定する必要がある:

* **ターミナルでエクスポート**(Claudeを起動する前に):`export VIDEO_DB_API_KEY=your-key`
* **プロジェクトの `.env` ファイル**:プロジェクトの `.env` ファイルに `VIDEO_DB_API_KEY=your-key` を保存する

APIキーを無料で取得するには [console.videodb.io](https://console.videodb.io)(クレジットカード不要で50回の無料アップロード)を訪問する。

APIキーを自分で読み取り、書き込み、または処理**しない**。常にユーザーが設定するようにする。

### クイックリファレンス

### メディアのアップロード

```python
# URL
video = coll.upload(url="https://example.com/video.mp4")

# YouTube
video = coll.upload(url="https://www.youtube.com/watch?v=VIDEO_ID")

# Local file
video = coll.upload(file_path="/path/to/video.mp4")
```

### 転写 + 字幕

```python
# force=True skips the error if the video is already indexed
video.index_spoken_words(force=True)
text = video.get_transcript_text()
stream_url = video.add_subtitle()
```

### ビデオ内検索

```python
from videodb.exceptions import InvalidRequestError

video.index_spoken_words(force=True)

# search() raises InvalidRequestError when no results are found.
# Always wrap in try/except and treat "No results found" as empty.
try:
    results = video.search("product demo")
    shots = results.get_shots()
    stream_url = results.compile()
except InvalidRequestError as e:
    if "No results found" in str(e):
        shots = []
    else:
        raise
```

### シーン検索

```python
import re
from videodb import SearchType, IndexType, SceneExtractionType
from videodb.exceptions import InvalidRequestError

# index_scenes() has no force parameter — it raises an error if a scene
# index already exists. Extract the existing index ID from the error.
try:
    scene_index_id = video.index_scenes(
        extraction_type=SceneExtractionType.shot_based,
        prompt="Describe the visual content in this scene.",
    )
except Exception as e:
    match = re.search(r"id\s+([a-f0-9]+)", str(e))
    if match:
        scene_index_id = match.group(1)
    else:
        raise

# Use score_threshold to filter low-relevance noise (recommended: 0.3+)
try:
    results = video.search(
        query="person writing on a whiteboard",
        search_type=SearchType.semantic,
        index_type=IndexType.scene,
        scene_index_id=scene_index_id,
        score_threshold=0.3,
    )
    shots = results.get_shots()
    stream_url = results.compile()
except InvalidRequestError as e:
    if "No results found" in str(e):
        shots = []
    else:
        raise
```

### タイムライン編集

**重要:** タイムラインを構築する前に必ずタイムスタンプを検証する:

* `start` は >= 0 でなければならない(負の値は静かに受け入れられるが、破損した出力を生成する)
* `start` は `end` より小さくなければならない
* `end` は `video.length` 以下でなければならない

```python
from videodb.timeline import Timeline
from videodb.asset import VideoAsset, TextAsset, TextStyle

timeline = Timeline(conn)
timeline.add_inline(VideoAsset(asset_id=video.id, start=10, end=30))
timeline.add_overlay(0, TextAsset(text="The End", duration=3, style=TextStyle(fontsize=36)))
stream_url = timeline.generate_stream()
```

### ビデオのトランスコード(解像度/品質変更)

```python
from videodb import TranscodeMode, VideoConfig, AudioConfig

# Change resolution, quality, or aspect ratio server-side
job_id = conn.transcode(
    source="https://example.com/video.mp4",
    callback_url="https://example.com/webhook",
    mode=TranscodeMode.economy,
    video_config=VideoConfig(resolution=720, quality=23, aspect_ratio="16:9"),
    audio_config=AudioConfig(mute=False),
)
```

### アスペクト比の調整(ソーシャルプラットフォーム向け)

**警告:** `reframe()` は低速なサーバーサイド操作。長いビデオでは数分かかる場合があり、タイムアウトする可能性がある。ベストプラクテ
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeNA
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (0)

No findings outside the package's declared scope.

Gates applied: no_behavioural_pass.

Audited 2026-09-22 · audit v0.4.1 · source sha fb3fb10d9622full audit observations/trust-audit/skill/affaan-m__videodb.json · Report an issue / request a re-scan
05

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-09-22fb3fb10d9622SAFEB89first audit
06

Questions

What does the Videodb skill do?

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Is Videodb safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can Videodb access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

How current is this page?

The grade is for one exact copy of the source (fb3fb10d9622), read on 2026-09-22. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement