Docker 中安裝並執行 Whisper,有兩種常見方式:
- 使用現成的 Docker 映像(如
onerahmet/openai-whisper-asr-webservice或manzolo/openai-whisper-docker)。 - 自行撰寫 Dockerfile,安裝 Python、PyTorch、FFmpeg,再安裝 Whisper。
方法一:使用現成映像(最快)
這是最簡單的方式,直接拉取並執行:
# 拉取映像
docker pull onerahmet/openai-whisper-asr-webservice:latest
# 啟動容器,開放 9000 port
docker run -d -p 9000:9000 -e ASR_MODEL=base onerahmet/openai-whisper-asr-webservice:latest
- 啟動後,瀏覽器打開
http://localhost:9000就能看到 WebUI。 - 支援上傳音訊/影片檔,輸出文字或偵測語言。
ASR_MODEL可選tiny、base、small、medium、large,模型越大精度越高但速度越慢 Github。
方法二:自行撰寫 Dockerfile
如果你要更靈活的控制(例如整合 Fast Whisper 或 GPU 加速),可以自己建 Dockerfile:
FROM ubuntu:22.04
# 安裝必要套件
RUN apt-get update && apt-get install -y \
python3 python3-pip ffmpeg git
# 安裝 PyTorch (CPU 或 GPU 版本)
RUN pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
# 安裝 Whisper
RUN pip3 install git+https://github.com/openai/whisper.git
# 預設工作目錄
WORKDIR /app
# 預設執行範例
CMD ["whisper", "sample.mp3", "--model", "base"]
建置與執行:
docker build -t whisper .
docker run --rm -v $(pwd):/app whisper
注意事項
- GPU 加速:需使用
nvidia/cuda基底映像,並加上--gpus all參數。 - Fast Whisper:建議用
ctranslate2優化版,速度比原版快 4~10 倍。 - 匯出格式:Whisper CLI 支援
--output_format txt或srt,可直接生成字幕檔。
建議工作流
- 快速測試 → 用
onerahmet/openai-whisper-asr-webservice,直接跑 WebUI。 - 正式批次轉檔 → 自行 Dockerfile + Fast Whisper,整合成 MP4 → SRT 自動化流程。
Sources: GitHub openai-whisper-docker Github, 知乎 Whisper Docker 部署教學