Initial commit: audio2text 双语字幕生成服务
- 音频/视频转双语(英/中)SRT 字幕,Docker 容器化,CPU 开发/GPU 生产同一份代码 - faster-whisper ASR(词级时间戳) + 断句时间戳重算 + NLLB 翻译(模型不共驻) - 分片上传(断点续传) + SQLite 持久化 + 主页/历史/日志页面 - 历史页文件名搜索;缓存定时清理(默认保留7天,可配置) - 双 Dockerfile(cpu/gpu) + setup/start/stop 脚本
This commit is contained in:
41
setup.sh
Executable file
41
setup.sh
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
# 一次性安装:构建 Docker 镜像 + 生成 config.yaml。可重复执行。
|
||||
# CPU:AUDIO2TEXT_VARIANT=cpu(默认)→ 用 config.cpu.yaml
|
||||
# GPU:AUDIO2TEXT_VARIANT=gpu → 用 config.gpu.yaml
|
||||
set -euo pipefail
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
ROOT="$(pwd)"
|
||||
|
||||
VARIANT="${AUDIO2TEXT_VARIANT:-cpu}"
|
||||
|
||||
case "$VARIANT" in
|
||||
cpu|gpu) ;;
|
||||
*) echo "VARIANT 只能是 cpu 或 gpu,当前:$VARIANT" >&2; exit 1 ;;
|
||||
esac
|
||||
|
||||
echo "==> [1/3] 检查 Docker"
|
||||
if ! command -v docker >/dev/null 2>&1; then
|
||||
echo "未找到 docker,请先安装 Docker。" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo " docker: $(docker --version)"
|
||||
|
||||
echo "==> [2/3] 构建 ${VARIANT} 镜像"
|
||||
docker build --build-arg VARIANT="${VARIANT}" -t "audio2text:${VARIANT}" "$ROOT"
|
||||
echo " 镜像:audio2text:${VARIANT}"
|
||||
|
||||
echo "==> [3/3] config.yaml(来自 config.${VARIANT}.yaml)"
|
||||
cp "$ROOT/config.${VARIANT}.yaml" "$ROOT/config.yaml"
|
||||
case "$VARIANT" in
|
||||
cpu) echo " CPU 模式:ASR=tiny/int8(~75MB),翻译=opus-mt-en-zh(~300MB)" ;;
|
||||
gpu) echo " GPU 模式:ASR=large-v3-turbo/float16,翻译=NLLB-1.3B/float16" ;;
|
||||
esac
|
||||
|
||||
echo
|
||||
echo "安装完成。"
|
||||
echo " - 镜像:audio2text:${VARIANT}"
|
||||
echo " - 配置:config.yaml(源自 config.${VARIANT}.yaml)"
|
||||
echo
|
||||
echo "下一步:./start.sh"
|
||||
echo "切换环境:AUDIO2TEXT_VARIANT=gpu ./setup.sh(自动换用 config.gpu.yaml)"
|
||||
Reference in New Issue
Block a user