Spaces:
Running
Running
File size: 1,566 Bytes
fe64493 946b6aa fe64493 946b6aa fe64493 946b6aa fe64493 946b6aa | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | ---
title: Video Transcriber
emoji: π¬
colorFrom: indigo
colorTo: purple
sdk: docker
app_port: 7860
pinned: false
license: mit
tags:
- transcription
- speech-to-text
- whisper
- video
---
# π¬ β π Video Transcriber (Speech-to-Text)
Upload a **video** (or audio) file and get a full text transcription, ready to **download** as plain text (`.txt`) or timed subtitles (`.srt`).
## How it works
1. **Upload** a video file β `.mp4`, `.mov`, `.mkv`, `.webm`, `.avi`, `.m4v` (audio files like `.mp3`/`.wav`/`.m4a` work too).
2. Click **Transcribe** β the audio track is extracted with `ffmpeg` (mono, 16 kHz WAV).
3. **OpenAI Whisper** (via π€ Transformers) transcribes the audio.
4. Read the transcript and **download**:
- `*_transcript.txt` β plain text
- `*_subtitles.srt` β timestamped subtitles
## Options
- **Language** β leave on `auto` for auto-detection, or pin a language for better accuracy.
- **Task** β `transcribe` keeps the original language; `translate` translates the speech into English.
## Model
Defaults to [`openai/whisper-base`](https://huggingface.co/openai/whisper-base) for fast transcription on free CPU hardware. On GPU hardware you can switch to [`openai/whisper-large-v3`](https://huggingface.co/openai/whisper-large-v3) for higher accuracy β just change `MODEL_ID` in `app.py`.
## Tech stack
- [Gradio](https://gradio.app) UI
- [π€ Transformers](https://huggingface.co/docs/transformers) `automatic-speech-recognition` pipeline
- `ffmpeg` for audio extraction (installed via the Dockerfile)
|