Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

I built a free Whisper transcription site that runs in the browser: 5 things that broke

Описание и применение

Quietscribe – браузерный сервис, использующий Whisper для транскрипции видео без загрузки файлов на сервер, поддерживает субтитры и встраиваемые подписи, работает на мобильных устройствах и десктопах, с возможностью облачной обработки больших моделей.

Задача

The author needed a subtitle tool that does not upload footage, has no free‑minute limits, and does not watermark videos, but existing tools failed to meet these constraints.

Результат

Quietscribe delivers fully on‑device Whisper transcription with optional cloud fallback, supports burned‑in captions, and runs on mobile and desktop without uploading data.

Рабочий процесс

  • 1. Load Whisper model (tiny/base/small) via transformers.js in a Web Worker, using WebGPU or multi‑threaded WASM.
  • 2. Detect language by decoding first 30 s and selecting highest‑scoring language token.
  • 3. On iPhone Safari, limit to one WASM thread and downgrade model if a crash flag is present in sessionStorage.
  • 4. Detect looping in small models and re‑run with no_repeat_ngram_size and repetition_penalty, then collapse repeated phrases.
  • 5. For languages needing larger models, enable Cloud mode: encode audio to 16 kHz mono, split into ~60 s segments, send to Workers AI Whisper‑large‑v3‑turbo, then translate with m2m100‑1.2b.
  • 6. Burn captions into video using Canvas + MediaRecorder + WebAudio, requesting avc1 codec and falling back to WebM; shrink long captions to fit.
  • 7. Provide Android share_target via web manifest and service worker to accept shared files without upload.

Доказательства

I built Quietscribe: OpenAI's Whisper running directly in the browser. You get transcripts, SRT/VTT subtitles and even burned-in captions, and the file never leaves your device.

Источник

My first Urdu test came back as confident English gibberish. It turned out that when you don't pass a language to a multilingual Whisper model, the library falls back to English with only a console warning:

Источник

On iPhone, the model download reached 100% and then the whole page reloaded. There was no error. Safari kills tabs that use too much memory.

Источник

For Urdu, the honest answer is that small on-device models aren't good enough, and the large ones don't fit on a phone. So I added an opt-in Cloud mode.

Источник

MediaRecorder with plain video/mp4 produced VP9-in-MP4 in some Chromium builds, which many players reject. Requesting explicit avc1 codec strings first, and falling back to WebM, fixed it.

Источник

  • Дата записи: 2026-11-02T06:28:47.925Z