183 lines
9.9 KiB
Markdown
183 lines
9.9 KiB
Markdown
# Premiere / OBS marker types
|
||
|
||
Reference for tagging streams in Premiere and writing `editDesc` chapters.
|
||
Companion to [`prompts.txt`](prompts.txt) (editDesc cleanup rules).
|
||
|
||
## Deliverable vs internal
|
||
|
||
| Category | In YouTube chapters / `editDesc`? |
|
||
|----------|-----------------------------------|
|
||
| Descriptive location & activity markers | Yes |
|
||
| Deliverable tangent pairs (tag in / tag out) | Yes |
|
||
| Pipeline stamps (`gamign`, `env`, raw `SEG`) | No |
|
||
| `FUNI`, `FUNI(INT)`, `funi`, `INT:`, `LORE:` | No |
|
||
| `AFK` / `UNAFK` | Usually yes (viewer-facing breaks) |
|
||
| `starting soon` / `preramble` / `postramble` / `goodbye` (renamed from Start, BEGIN, last env, END) | Yes (stream bookends) |
|
||
| Raw `BEGIN` / `END` / `AFK` / `UNAFK` | Yes (or folded into longer chapter titles) |
|
||
|
||
---
|
||
|
||
## OBS pipeline stamps (purple)
|
||
|
||
Hotkey stamps from the streaming layout. **Not chapter titles** — they mark OBS scene/layout switches and get stripped from `editDesc` (see `prompts.txt`).
|
||
|
||
| Marker | Purpose |
|
||
|--------|---------|
|
||
| **gamign** | Gaming layout / game capture active (intentional typo). |
|
||
| **env** | Environment / desktop / non-game layout. The **last** `env` of the stream (desktop at wrap-up) is usually relabeled **`postramble`** in `editDesc` — same timestamp, different chapter title. |
|
||
| **SEG** | Orange OBS chapter stamp for “new topic segment.” Often replaced in post with a descriptive deliverable label, or converted to `INT:` if the tangent is editor-only. |
|
||
|
||
These align to OBS marker times, not transcript guesses. When adding deliverable chapters, use the **marker timestamp**, not speech alone.
|
||
|
||
---
|
||
|
||
## Internal editor notes
|
||
|
||
Never front-facing. Strip from `editDesc`.
|
||
|
||
| Prefix | Purpose |
|
||
|--------|---------|
|
||
| **INT:** | Internal note to editor — excluded from delivery. **White** in Premiere. Example: `INT: desktop` (alt-tab too fast to matter on VOD). Not the same as “interruption”; non-deliverable tangents get `INT:`, deliverable ones get descriptive tag in/out. **Opsec pass:** probe **multiple frames** around each `gamign`/`env` cluster (±5–15s); add `INT:` only when a **desktop, browser, or other sensitive UI** is actually visible — not automatically on every `env` stamp. OBS env layout (meme frame, chat overlay) without taskbar/browser is lower risk; full MapGenie/desktop tabs = high priority. |
|
||
| **FUNI** | **“Clip that”** — flag a moment to save for **TikTok, Reels, and YouTube Shorts**. **Blue** — OBS hotkey stamp during stream. May include a short label (e.g. `FUNI cozy awoo`). |
|
||
| **FUNI(INT)** | Was **FUNI** originally; relabeled **`FUNI(INT)`** manually when the clip note is internal/editor-only rather than a straight short. Stays **blue** (FUNI lineage). Strip from `editDesc` like other internal markers. |
|
||
| **funi** | Same purpose as **FUNI**, but **lowercase** and **aquamarine** — added manually in post (not an OBS marker). Example: `funi ubear gift`. |
|
||
| **LORE:** | Lore / callback note for editor or future reference, not a public chapter. |
|
||
|
||
---
|
||
|
||
## Stream structure — hard tags (yellow/tan)
|
||
|
||
Predefined stamps from the OBS/py pipeline. **Yellow/tan** in Premiere (`4281049552` in [`0csv_to_xml.py`](2026/0csv_to_xml.py); muted tan-yellow in the UI). `setColorByIndex(4)` — not index 5 (that is **white**, used for `INT:`).
|
||
|
||
| Raw marker | Purpose |
|
||
|------------|---------|
|
||
| **Start** | Pre-stream hold. **Green** (default color when no `pproColor` is set — from `0csv_to_xml.py`). |
|
||
| **BEGIN** | Stream proper begins (hard tag). |
|
||
| **AFK** | Stepping away — break starts. |
|
||
| **UNAFK** | Back from break. |
|
||
| **END** | Stream over (hard tag). |
|
||
|
||
### `editDesc` rename conventions
|
||
|
||
Premiere keeps the raw stamp names; chapters use friendlier labels at the **same timestamps**:
|
||
|
||
| Raw stamp | `editDesc` chapter title |
|
||
|-----------|--------------------------|
|
||
| **Start** | **starting soon** (always) |
|
||
| **BEGIN** | **preramble**, **setup + rambling**, or similar (often) |
|
||
| last **env** | **postramble** (often) |
|
||
| **END** | **goodbye** (always) |
|
||
|
||
`prompts.txt` still strips raw `env` lines — you replace that slot with `postramble` when writing chapters. `BEGIN` / `END` / `AFK` / `UNAFK` stay as chapter lines (or get merged into longer titles like `chatting + goodbye`).
|
||
|
||
---
|
||
|
||
## Deliverable content markers (descriptive)
|
||
|
||
Short labels: locations, bosses, setup beats, tangents worth skipping or revisiting. May be yours (live/post) or agent-added during visual tagging.
|
||
|
||
**Red is only for agentic stamps** — markers the agent adds during MCP/visual passes (`Underworks`, `Wisp Thicket`, etc.). Agent `INT:` / `LORE:` → **white**. Your own descriptive stamps → **orange** (same family as `SEG`). Do **not** recolor your existing markers to red; leave pipeline/FUNI/bookend colors alone.
|
||
|
||
### Gameplay & exploration
|
||
Examples: `Bellhart`, `far fields arena`, `goo beast defeated`, `first sinner fight`.
|
||
|
||
### Deliverable tangents — tag in / tag out
|
||
For skippable or revisit-worthy segments (gift popups, detours, downloads):
|
||
|
||
1. **Tag in** — descriptive name at segment start (e.g. `Subnautica 2 gift`).
|
||
2. **Tag out** — descriptive name where main content resumes (e.g. `far fields arena` after gift ends).
|
||
|
||
Both bounds are deliverable chapter candidates. Do **not** use `gamign` or `env` as tag-out labels.
|
||
|
||
---
|
||
|
||
## Agentic stamping workflow (MCP)
|
||
|
||
Run on the **active sequence** in Premiere Pro with the CEP bridge panel connected (`ws://127.0.0.1:9801`). Do **not** auto-fill `editDesc` — markers and `prtranscript/` sidecars only.
|
||
|
||
### 1. Premiere + MCP prep
|
||
|
||
1. Open the stream `.prproj` / sequence (e.g. `2026-06-18 slump.ts`).
|
||
2. Open **PremierPro MCP Bridge** (CEP) — confirm connected on port **9801**.
|
||
3. Rebuild MCP if transcript tools are missing: `go build -o bin/server.exe ./cmd/server` in `AdobePremiereProMCP/go-orchestrator`, then restart the **premiere-pro** MCP in Cursor.
|
||
4. Local mp4 for ffmpeg probes: `{year}/{date} {stream}.mp4` (e.g. `2026/2026-06-18 slump.ts.mp4`).
|
||
|
||
### 2. Export transcript (before visual pass)
|
||
|
||
Premiere 25 **Text > Transcript** is not readable via ExtendScript. Export through MCP:
|
||
|
||
| Tool | `premiere_export_sequence_transcript` |
|
||
|------|----------------------------------------|
|
||
| `output_path` | `editDesc/prtranscript/{stream}.prtranscript` (absolute path) |
|
||
| `format` | `prtranscript` (default), `json`, or `text` |
|
||
|
||
**Pr 25 (preferred):** open **Window > UXP Plugins > PremierPro MCP UXP Bridge** and confirm **Connected** on `ws://127.0.0.1:9802`. Source clips must already be transcribed in **Text > Transcript**.
|
||
|
||
Install once: `scripts/install-uxp-panel-win.bat` in the MCP repo. Enable UXP developer mode in Premiere preferences.
|
||
|
||
**Fallback (no UXP / Pr 24):** in Text panel, **Create Captions**, then call the same tool (reads caption tracks; speakers often `Unknown`).
|
||
|
||
Optional: `premiere_export_captions` → `.srt` / `.vtt` when a caption track exists.
|
||
|
||
Use the exported `*_prtranscript.txt` (or `.prtranscript` blocks) as **segment seeds** for the visual pass — not as chapter timestamps alone.
|
||
|
||
### 3. Baseline snapshot
|
||
|
||
`premiere_get_sequence_markers` → save `editDesc/prtranscript/{stream}_markers_baseline.json`.
|
||
|
||
### 4. Visual pass
|
||
|
||
1. Merge transcript seeds with existing marker labels.
|
||
2. ffmpeg probes: `editDesc/prtranscript/_*_probe/` — opsec clusters (below) plus ~10‑min sweeps during gameplay.
|
||
3. `premiere_capture_frame_base64` at seeds / map titles when mp4 is unavailable.
|
||
4. Write `editDesc/prtranscript/{stream}_visual_tags.txt`.
|
||
|
||
### 5. Add markers
|
||
|
||
- **Red (1):** new agent deliverable location/activity stamps only.
|
||
- **White (5):** agent-added `INT:` / `LORE:` only when opsec rules justify them.
|
||
- Never recolor or rename the user's existing markers.
|
||
|
||
### 6. After snapshot + save
|
||
|
||
Save `editDesc/prtranscript/{stream}_markers_after.json`. **Ctrl+S** the project (Synology paths may time out on `premiere_save_project`).
|
||
|
||
---
|
||
|
||
## Opsec pass (agent)
|
||
|
||
For each `gamign` ↔ `env` cluster:
|
||
|
||
1. Export frames at the stamp and **±3s, ±8s, ±15s** (ffmpeg on `{year}/{stream}.mp4` → `prtranscript/_*_probe/`).
|
||
2. Inspect for **taskbar, desktop wallpaper, browser tabs/URL bar, file paths, MapGenie, Discord DMs**, etc.
|
||
3. Add `INT:` **only when exposure is visible** — label specifically (`INT: desktop`, `INT: mapgenie`, `INT: mapcheck`, …).
|
||
4. **Do not** pair every `env` with `INT: desktop`. In-game menus (inventory, pause, tasks, map) and OBS env layout (avatar + meme frame + chat) are **not** desktop exposure unless a real OS/browser window is on screen.
|
||
5. If nothing sensitive appears in the probe window, leave the cluster with no agent `INT:`.
|
||
|
||
---
|
||
|
||
## `editDesc` workflow
|
||
|
||
- Chapters in `editDesc/*.txt` are **semi-manual** (JSyntax Workflows + cursor edit prompt).
|
||
- Agent tagging work targets **Premiere markers**; do not auto-fill `editDesc` with `INT:`, `FUNI`/`funi`, or pipeline stamps.
|
||
- Agent adds **red** markers only for its own new deliverable location/activity stamps; set **white** on agent-added `INT:` / `LORE:` only. Your descriptive stamps stay **orange**. Never bulk-recolor the user's markers.
|
||
- Transcription aids live in **`editDesc/prtranscript/`** (per year): `*_prtranscript.txt`, `*_visual_tags.txt`, marker JSON snapshots, probe frames (`_gap_probe/`), etc. — not mixed with deliverable chapter `.txt` files.
|
||
- `prompts.txt` rules still apply: remove `FUNI`, `INT`, `LORE`, `gamign`, and `env` lines (treat lowercase `funi` the same as `FUNI`); normalize YouTube timestamps.
|
||
|
||
---
|
||
|
||
## Premiere marker colors (`0csv_to_xml.py`)
|
||
|
||
| Marker family | Color | `setColorByIndex` |
|
||
|---------------|-------|-------------------|
|
||
| Start | Green (default) | 0 |
|
||
| Agent-added deliverable tags (locations, tag in/out, bosses) | Red | 1 |
|
||
| gamign, env | Purple | 2 |
|
||
| SEG; your manual descriptive stamps | Orange | 3 |
|
||
| BEGIN, END, AFK, UNAFK | Yellow/tan | 4 |
|
||
| INT: | White | 5 |
|
||
| FUNI, FUNI(INT) | Blue | 6 |
|
||
| funi | Aquamarine / turquoise | 7 |
|
||
|
||
When adding markers via MCP: **new agent stamps** → red = 1; agent `INT:` / `LORE:` → white = 5. Do not change colors on markers you did not add.
|