Skip to content

Re-encode foreign media in the browser before transcription - #10

Merged
dhcgn merged 1 commit into
mainfrom
feat/stage2-reencode
Sep 8, 2026
Merged

dhcgn merged 1 commit into
mainfrom
feat/stage2-reencode

Conversation

@dhcgn

@dhcgn dhcgn commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Files the gate rejects (foreign container or over 50 MB) are re-encoded locally to mp3 mono - 128 kbit/s, then 64 kbit/s - and transcribed when they fit.

  • Single-threaded ffmpeg core (@ffmpeg/core), vendored same-origin and lazy-loaded, so it is fetched only when the gate rejects. No CSP change, no CDN.
  • Result card states what was re-encoded and sent; history keeps the dropped name.
  • New test/foreign-formats.test.ts pins the routing contract (mkv, avi, aac, wma, wmv, aiff, flv, mpg); new test-data/ excerpts back the real-media path.
  • Docs now speak of pass-through, relabel, and re-encode throughout.

Verified: typecheck clean, 229 unit tests pass, coverage 100%. The Playwright suite (incl. the re-encode failure-path test) runs in CI - no browser deps in this container.

Files the gate rejects (foreign container or over 50 MB) are now
re-encoded locally to mp3 mono - 128 kbit/s, then 64 kbit/s - and
transcribed when they fit. Single-threaded ffmpeg core, vendored
same-origin and lazy-loaded so it is fetched only when needed.
Adds foreign-container excerpts under test-data/ and routing unit
tests; docs speak of pass-through, relabel, and re-encode.
github-actions Bot added a commit that referenced this pull request Sep 8, 2026
@github-actions

github-actions Bot commented Sep 8, 2026 •

Copy link
Copy Markdown
Contributor

Preview removed.

@dhcgn
dhcgn merged commit 0cc2e96 into main Sep 8, 2026
3 checks passed
@dhcgn
dhcgn deleted the feat/stage2-reencode branch September 8, 2026 17:36
github-actions Bot added a commit that referenced this pull request Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant