Skip to content

v2026.3.1

Choose a tag to compare

@benjaminwestern benjaminwestern released this 01 Apr 00:36
· 13 commits to main since this release

Stream Transcript Extractor v2026.3.1

This release turns the extractor into a much easier tool to operate in the
real world. The network path is still the preferred path, but it now gives
better terminal feedback, clearer failure summaries, and a new automatic mode
that tries to perform the fragile UI steps for you before it falls back to
manual help.

What this tool does

Stream Transcript Extractor lets you pull Microsoft Teams recording transcripts
from Microsoft Stream by driving your signed-in Chrome or Edge profile instead
of depending on Microsoft Graph transcript APIs.

It can:

  • Use your local Chrome or Edge profile, including profile selection by name,
    email, or directory.
  • Attach to a browser launched in remote debugging mode with an isolated
    temporary profile wrapper.
  • Extract transcript payloads directly from Microsoft Stream network traffic.
  • Decrypt transcript payloads when Stream serves encrypted transcript bodies.
  • Parse transcript payloads from JSON and WebVTT-style responses.
  • Fall back to DOM extraction when the network transport is not usable.
  • Write transcript output as JSON, Markdown, or both.
  • Capture meeting metadata such as title, date, source URL, creator details,
    and recording start or end times when available.
  • Save network capture diagnostics for successful runs, and for failed runs
    when --debug is enabled.
  • Build standalone binaries for macOS arm64, macOS x64, and Windows x64 with
    Bun.

Extraction modes

The extractor now supports three modes:

  • network
    The recommended mode. Open the Stream page with the Transcript panel closed,
    arm capture, then open the panel. This mode captures transcript-related
    network responses, ranks likely candidates, loads response bodies, decrypts
    when necessary, and extracts transcript entries from the payload.
  • automatic
    A new mode built on the same network extractor. After you select the page,
    the tool reloads with capture armed, tries to locate and open the Transcript
    panel, nudges the panel to trigger lazy loading, retries when needed, waits
    for transcript-like traffic, and only then falls back to manual assistance.
  • dom
    The fallback mode. This mode scrolls the rendered Stream transcript UI and
    extracts entries from the visible DOM when the network path is unsuitable or
    when you want to inspect how the rendered transcript behaves.

Outputs and diagnostics

The tool can now explain its state more clearly while it runs:

  • Network capture prints a live terminal confirmation when likely transcript
    traffic is seen.
  • Run summaries now distinguish between potentially relevant network responses
    and actual parsed transcript payload matches.
  • Automatic mode explains why it fell back to manual help, including what it
    found, what it clicked, and what signal it failed to confirm.
  • --debug in automatic mode prints the full UI action trace, retry flow, and
    fallback reason.
  • --debug in network and automatic modes saves detailed request or response
    lifecycle data, candidate bodies, WebSocket frames, and richer capture
    metadata.
  • Failed network or automatic runs no longer save a .network.json file unless
    --debug is enabled.

CLI surface

The CLI supports:

  • --mode <network|automatic|dom>
  • --browser <chrome|edge>
  • --profile <query>
  • --output <name>
  • --output-dir <path>
  • --format <json|md|both>
  • --debug-port <port>
  • --debug
  • --keep-browser-open
  • --help
  • --version

What changed in v2026.3.1

  • Added automatic mode for transcript-panel automation on top of the network
    extractor.
  • Added terminal confirmation when likely transcript traffic is detected during
    capture.
  • Added clearer fallback summaries so users can understand why automatic mode
    could not finish without help.
  • Added automatic-mode debug logging for UI actions, retries, and fallback
    reasons.
  • Changed run summaries to report potentially relevant responses separately from
    actual parsed transcript payload matches.
  • Gated failed-run .network.json creation behind --debug.
  • Updated README and help text to document the new mode and diagnostics.

Release assets

This release includes standalone binaries with embedded version
v2026.3.1 for:

  • macOS arm64
  • macOS x64
  • Windows x64