Files
MixerTwitch/marker-context.md
T

183 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 (±515s); 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 ~10min 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.