通过OpenAI和Plex、Bazarr、Emby、Jellyfin或Tautulli的webhooks自动生成字幕的Docker镜像
收藏数: 5
下载次数: 197655
类型:

mccloud/subgensubgen是一个基于Docker容器化的字幕自动生成工具,通过集成OpenAI API与主流媒体服务器及工具的webhooks,实现媒体文件字幕的自动化生成。该工具支持Plex、Bazarr、Emby、Jellyfin及Tautulli等平台的webhook事件触发,结合OpenAI的AI能力,为个人媒体库提供高效、智能的字幕解决方案。
bashdocker run -d \ --name subgen \ -p 8080:8080 \ -v /path/to/local/subtitles:/app/subtitles \ -e OPENAI_API_KEY="your_openai_api_key" \ -e SUPPORTED_SERVICES="plex,bazarr,emby" \ -e SUBTITLE_LANGUAGES="en,zh-CN" \ -e LOG_LEVEL="info" \ mcclouds/subgen:latest
创建docker-compose.yml配置文件:
yamlversion: '3.8' services: subgen: image: mcclouds/subgen:latest container_name: subgen restart: unless-stopped ports: - "8080:8080" # 映射webhook服务端口 volumes: - ./subtitles:/app/subtitles # 挂载本地目录存储生成的字幕 environment: - OPENAI_API_KEY=your_openai_api_key # 替换为实际OpenAI API密钥(必填) - WEBHOOK_PORT=8080 # webhook服务监听端口(默认8080) - SUPPORTED_SERVICES=plex,bazarr,jellyfin # 启用的webhook服务(逗号分隔) - SUBTITLE_LANGUAGES=en,zh-CN,ja # 生成的字幕语言(ISO 639-1代码,逗号分隔) - LOG_LEVEL=info # 日志级别(debug/info/warn/error,默认info) - OPENAI_MODEL=whisper-1 # OpenAI字幕生成模型(默认whisper-1) - SUBTITLE_OUTPUT_PATH=/app/subtitles # 容器内字幕输出路径(默认/app/subtitles) - OPENAI_API_BASE_URL=[***] # OpenAI API基础URL(默认官方地址)
启动服务:
bashdocker-compose up -d
| 参数名 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
| OPENAI_API_KEY | OpenAI API密钥,用于调用字幕生成接口 | 是 | - |
| WEBHOOK_PORT | 容器内webhook服务监听端口 | 否 | 8080 |
| SUPPORTED_SERVICES | 启用的webhook服务,可选值:plex,bazarr,emby,jellyfin,tautulli(逗号分隔) | 否 | 全部支持 |
| SUBTITLE_LANGUAGES | 生成的字幕语言,使用ISO 639-1代码(如en,zh-CN,ja),逗号分隔 | 否 | en |
| LOG_LEVEL | 日志输出级别,可选值:debug/info/warn/error | 否 | info |
| OPENAI_MODEL | OpenAI字幕生成模型,如whisper-1 | 否 | whisper-1 |
| SUBTITLE_OUTPUT_PATH | 容器内字幕文件输出目录路径 | 否 | /app/subtitles |
| WEBHOOK_ENDPOINT_PREFIX | webhook端点URL前缀(如"/hooks"),用于自定义路径 | 否 | / |
| OPENAI_API_BASE_URL | OpenAI API基础URL(用于代理或私有部署) | 否 | [***] |
需在对应媒体服务器/工具中配置webhook,指向subgen容器的服务地址。以Plex为例:
http://<subgen_container_ip>:<WEBHOOK_PORT>/plex(如[***])。其他服务(如Emby、Bazarr)配置步骤类似,webhook端点路径通常为http://<ip>:<port>/<service_name>(如Emby对应/emby,Tautulli对应/tautulli)。
如该工具对您有帮助,欢迎通过进行支持。
GitHub仓库:[***]
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务