Transcribe audio/video files to text using local Docker Whisper ASR.
bash
curl -X POST "http://localhost:PORT/asr" -F "audio_file=@/path/to/video.mp4"
The container has built-in ffmpeg for automatic audio extraction.
ToolPurposeInstallDockerWhisper ASRDocker DesktopffmpegAudio extractionwinget install Gyan.FFmpeg
Deploy Whisper ASR:
bash
docker run -d -p PORT:PORT -e ASR_MODEL=small -e ASR_ENGINE=faster_whisper --name whisper-asr onerahmet/openai-whisper-asr-webservice:latest
bash
ffmpeg -i video.mp4 -ar 16000 -ac 1 -c:a pcm_s16le audio.wav -y
Parameters:
-ar 16000: 16kHz sample rate-ac 1: Mono channel-c:a pcm_s16le: 16-bit PCMbash
curl -X POST "http://localhost:PORT/asr" -F "audio_file=@audio.wav"
Optional: specify language
bash
curl -X POST "http://localhost:PORT/asr" -F "audio_file=@audio.wav" -F "language=zh"
Response format:
json
{
"text": "Transcribed content...",
"segments": [
{"start": 0.0, "end": 2.5, "text": "First sentence"},
{"start": 2.5, "end": 5.0, "text": "Second sentence"}
],
"language": "zh"
}
ModelSize5-min videoAccuracytiny75MB30sFairbase142MB1minGoodsmall466MB3minBetter (recommended)medium1.5GB8minBest
Change model via environment variable: -e ASR_MODEL=medium
Video: mp4, mkv, avi, mov, flv, wmv, webm, m4v
Audio: wav, m4a, mp3, aac, ogg, flac, wma, opus
IssueSolutionDocker not availableInstall Docker DesktopContainer start failsCheck port availabilityTranscription timeoutUse smaller model or split audioffmpeg not foundwinget install Gyan.FFmpeg