From cfd2f874f6cfba2f4cea5765083ae70b2beac300 Mon Sep 17 00:00:00 2001 From: Haro Date: Tue, 15 Sep 2026 07:25:25 +0000 Subject: [PATCH] [UPDATE][whisperwebuiv2][1.0.19] --- whisperwebuiv2/Chart.yaml | 2 +- whisperwebuiv2/OlaresManifest.yaml | 10 +++- whisperwebuiv2/i18n/de-DE/OlaresManifest.yaml | 35 ++++++++++++ whisperwebuiv2/i18n/es-ES/OlaresManifest.yaml | 35 ++++++++++++ whisperwebuiv2/i18n/fr-FR/OlaresManifest.yaml | 35 ++++++++++++ whisperwebuiv2/i18n/it-IT/OlaresManifest.yaml | 35 ++++++++++++ whisperwebuiv2/i18n/ja-JP/OlaresManifest.yaml | 35 ++++++++++++ whisperwebuiv2/whisperwebuiv2/Chart.yaml | 2 +- .../whisperwebuiv2/templates/clientproxy.yaml | 54 ++++++++++++++----- .../templates/deployment.yaml | 5 +- 10 files changed, 230 insertions(+), 18 deletions(-) create mode 100644 whisperwebuiv2/i18n/de-DE/OlaresManifest.yaml create mode 100644 whisperwebuiv2/i18n/es-ES/OlaresManifest.yaml create mode 100644 whisperwebuiv2/i18n/fr-FR/OlaresManifest.yaml create mode 100644 whisperwebuiv2/i18n/it-IT/OlaresManifest.yaml create mode 100644 whisperwebuiv2/i18n/ja-JP/OlaresManifest.yaml diff --git a/whisperwebuiv2/Chart.yaml b/whisperwebuiv2/Chart.yaml index d78a9018b..8c076d301 100644 --- a/whisperwebuiv2/Chart.yaml +++ b/whisperwebuiv2/Chart.yaml @@ -3,4 +3,4 @@ appVersion: "1.0.7" description: A Web UI for easy subtitle using whisper model. name: whisperwebuiv2 type: application -version: 1.0.11 +version: 1.0.19 \ No newline at end of file diff --git a/whisperwebuiv2/OlaresManifest.yaml b/whisperwebuiv2/OlaresManifest.yaml index 8ffd35ff6..be85be045 100644 --- a/whisperwebuiv2/OlaresManifest.yaml +++ b/whisperwebuiv2/OlaresManifest.yaml @@ -7,7 +7,7 @@ metadata: description: A Web UI for easy subtitle using whisper model. icon: https://app.cdn.olares.com/appstore/whisperwebui/icon.png appid: whisperwebuiv2 - version: '1.0.11' + version: '1.0.19' title: Whisper-WebUI categories: - AI @@ -87,6 +87,9 @@ spec: Post-processing with speaker diarization using the pyannote model + upgradeDescription: | + Add the Helm release revision to the download Job name so upgrades do not patch its immutable pod template. + Replace the Bitnami OpenResty proxy with official OpenResty and run it as UID/GID 1000 with writable runtime paths. developer: jhj0517 website: https://github.com/jhj0517/Whisper-WebUI sourceCode: https://github.com/jhj0517/Whisper-WebUI @@ -94,6 +97,11 @@ spec: locale: - en-US - zh-CN + - de-DE + - es-ES + - it-IT + - fr-FR + - ja-JP doc: https://github.com/jhj0517/Whisper-WebUI license: - text: Apache-2.0 License diff --git a/whisperwebuiv2/i18n/de-DE/OlaresManifest.yaml b/whisperwebuiv2/i18n/de-DE/OlaresManifest.yaml new file mode 100644 index 000000000..10a30d57e --- /dev/null +++ b/whisperwebuiv2/i18n/de-DE/OlaresManifest.yaml @@ -0,0 +1,35 @@ +metadata: + title: Whisper-WebUI + description: Eine Web-UI für einfache Untertitel mit dem Whisper-Modell +spec: + fullDescription: | + Eine Gradio-basierte Browseroberfläche für Whisper. Nutzen Sie sie als einfachen Untertitel-Generator! + + **Funktionen** + Wählen Sie die gewünschte Whisper-Implementierung: + - openai/whisper + - SYSTRAN/faster-whisper (Standard) + - Vaibhavs10/insanely-fast-whisper + + Untertitel aus verschiedenen Quellen erzeugen, darunter: + - Dateien + - Youtube + - Mikrofon + + Derzeit unterstützte Untertitelformate: + - SRT + - WebVTT + - txt (nur Textdatei ohne Zeitachse) + + Speech to Text Translation + - Von anderen Sprachen nach Englisch. (Dies ist Whispers End-to-End Speech-to-Text-Übersetzungsfunktion) + + Text to Text Translation + - Untertiteldateien mit Facebook-NLLB-Modellen übersetzen + - Untertiteldateien mit der DeepL API übersetzen + + Audio-Eingabe mit Silero VAD vorverarbeiten. + + Audio-Eingabe mit UVR vorverarbeiten, um BGM zu trennen. + + Nachverarbeitung mit Speaker Diarization über das pyannote-Modell diff --git a/whisperwebuiv2/i18n/es-ES/OlaresManifest.yaml b/whisperwebuiv2/i18n/es-ES/OlaresManifest.yaml new file mode 100644 index 000000000..0aeffc01e --- /dev/null +++ b/whisperwebuiv2/i18n/es-ES/OlaresManifest.yaml @@ -0,0 +1,35 @@ +metadata: + title: Whisper-WebUI + description: Una interfaz web para subtítulos fáciles con el modelo whisper +spec: + fullDescription: | + Una interfaz de navegador basada en Gradio para Whisper. ¡Úsala como un generador sencillo de subtítulos! + + **Funciones** + Elige la implementación de Whisper que quieras usar entre: + - openai/whisper + - SYSTRAN/faster-whisper (usada por defecto) + - Vaibhavs10/insanely-fast-whisper + + Genera subtítulos desde varias fuentes, incluyendo: + - Archivos + - Youtube + - Micrófono + + Formatos de subtítulos admitidos actualmente: + - SRT + - WebVTT + - txt (solo archivo de texto sin línea de tiempo) + + Speech to Text Translation + - De otros idiomas al inglés. (Función de traducción speech-to-text de extremo a extremo de Whisper) + + Text to Text Translation + - Traducir archivos de subtítulos con modelos Facebook NLLB + - Traducir archivos de subtítulos con la API de DeepL + + Preprocesar la entrada de audio con Silero VAD. + + Preprocesar la entrada de audio para separar BGM con UVR. + + Postprocesado con diarización de hablantes usando el modelo pyannote diff --git a/whisperwebuiv2/i18n/fr-FR/OlaresManifest.yaml b/whisperwebuiv2/i18n/fr-FR/OlaresManifest.yaml new file mode 100644 index 000000000..011889214 --- /dev/null +++ b/whisperwebuiv2/i18n/fr-FR/OlaresManifest.yaml @@ -0,0 +1,35 @@ +metadata: + title: Whisper-WebUI + description: Une interface web pour des sous-titres faciles avec le modèle whisper +spec: + fullDescription: | + Une interface navigateur basée sur Gradio pour Whisper. Utilisez-la comme générateur de sous-titres simple ! + + **Fonctionnalités** + Choisissez l’implémentation Whisper à utiliser parmi : + - openai/whisper + - SYSTRAN/faster-whisper (utilisée par défaut) + - Vaibhavs10/insanely-fast-whisper + + Générez des sous-titres à partir de diverses sources, notamment : + - Fichiers + - Youtube + - Microphone + + Formats de sous-titres actuellement pris en charge : + - SRT + - WebVTT + - txt (fichier texte uniquement, sans timeline) + + Speech to Text Translation + - D’autres langues vers l’anglais. (Fonction de traduction speech-to-text de bout en bout de Whisper) + + Text to Text Translation + - Traduire des fichiers de sous-titres avec les modèles Facebook NLLB + - Traduire des fichiers de sous-titres avec l’API DeepL + + Prétraitement de l’entrée audio avec Silero VAD. + + Prétraitement de l’entrée audio pour séparer le BGM avec UVR. + + Post-traitement avec diarisation des locuteurs via le modèle pyannote diff --git a/whisperwebuiv2/i18n/it-IT/OlaresManifest.yaml b/whisperwebuiv2/i18n/it-IT/OlaresManifest.yaml new file mode 100644 index 000000000..51d7e81b6 --- /dev/null +++ b/whisperwebuiv2/i18n/it-IT/OlaresManifest.yaml @@ -0,0 +1,35 @@ +metadata: + title: Whisper-WebUI + description: Una Web UI per sottotitoli semplici con il modello whisper +spec: + fullDescription: | + Un’interfaccia browser basata su Gradio per Whisper. Usala come Easy Subtitle Generator! + + **Funzionalità** + Seleziona l’implementazione Whisper da usare tra: + - openai/whisper + - SYSTRAN/faster-whisper (usata di default) + - Vaibhavs10/insanely-fast-whisper + + Genera sottotitoli da varie fonti, tra cui: + - File + - Youtube + - Microfono + + Formati sottotitoli attualmente supportati: + - SRT + - WebVTT + - txt (solo file di testo senza timeline) + + Speech to Text Translation + - Da altre lingue all’inglese. (Funzione di traduzione speech-to-text end-to-end di Whisper) + + Text to Text Translation + - Traduci file sottotitoli con i modelli Facebook NLLB + - Traduci file sottotitoli con l’API DeepL + + Pre-elaborazione dell’audio in ingresso con Silero VAD. + + Pre-elaborazione dell’audio in ingresso per separare il BGM con UVR. + + Post-elaborazione con speaker diarization usando il modello pyannote diff --git a/whisperwebuiv2/i18n/ja-JP/OlaresManifest.yaml b/whisperwebuiv2/i18n/ja-JP/OlaresManifest.yaml new file mode 100644 index 000000000..15ac327f1 --- /dev/null +++ b/whisperwebuiv2/i18n/ja-JP/OlaresManifest.yaml @@ -0,0 +1,35 @@ +metadata: + title: Whisper-WebUI + description: whisper モデルで簡単に字幕を作成する Web UI +spec: + fullDescription: | + Whisper 向けの Gradio ベースのブラウザ UI。Easy Subtitle Generator として使えます! + + **機能** + 使用する Whisper 実装を選択: + - openai/whisper + - SYSTRAN/faster-whisper(デフォルト) + - Vaibhavs10/insanely-fast-whisper + + 次を含むさまざまなソースから字幕を生成: + - ファイル + - Youtube + - マイク + + 現在対応の字幕フォーマット: + - SRT + - WebVTT + - txt(タイムラインなしのテキストのみ) + + Speech to Text Translation + - 他言語から英語へ。(Whisper のエンドツーエンド speech-to-text 翻訳機能) + + Text to Text Translation + - Facebook NLLB モデルで字幕ファイルを翻訳 + - DeepL API で字幕ファイルを翻訳 + + Silero VAD で音声入力を前処理。 + + UVR で BGM を分離する音声入力の前処理。 + + pyannote モデルによる話者ダイアライゼーションの後処理 diff --git a/whisperwebuiv2/whisperwebuiv2/Chart.yaml b/whisperwebuiv2/whisperwebuiv2/Chart.yaml index c334ac864..e745e309e 100644 --- a/whisperwebuiv2/whisperwebuiv2/Chart.yaml +++ b/whisperwebuiv2/whisperwebuiv2/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: '1.25.3-2' +appVersion: '1.29.2.5' description: description name: whisperwebuiv2 type: application diff --git a/whisperwebuiv2/whisperwebuiv2/templates/clientproxy.yaml b/whisperwebuiv2/whisperwebuiv2/templates/clientproxy.yaml index 67c348bff..e3645d276 100644 --- a/whisperwebuiv2/whisperwebuiv2/templates/clientproxy.yaml +++ b/whisperwebuiv2/whisperwebuiv2/templates/clientproxy.yaml @@ -12,9 +12,19 @@ data: } server { + + client_body_temp_path /tmp/client_body; + + proxy_temp_path /tmp/proxy; + + fastcgi_temp_path /tmp/fastcgi; + + uwsgi_temp_path /tmp/uwsgi; + + scgi_temp_path /tmp/scgi; listen 8080; - access_log /opt/bitnami/openresty/nginx/logs/access.log; - error_log /opt/bitnami/openresty/nginx/logs/error.log; + access_log /dev/stdout; + error_log /dev/stderr; location /config { proxy_pass http://whisperwebui-svc.whisperwebuiv2server-shared:7860; @@ -72,9 +82,14 @@ data: # Terminal entrance (:8081) server { + client_body_temp_path /tmp/client_body; + proxy_temp_path /tmp/proxy; + fastcgi_temp_path /tmp/fastcgi; + uwsgi_temp_path /tmp/uwsgi; + scgi_temp_path /tmp/scgi; listen 8081; - access_log /opt/bitnami/openresty/nginx/logs/access.log; - error_log /opt/bitnami/openresty/nginx/logs/error.log; + access_log /dev/stdout; + error_log /dev/stderr; client_max_body_size 10m; @@ -101,9 +116,14 @@ data: # Whisper-WebUI API entrance (:8082) server { + client_body_temp_path /tmp/client_body; + proxy_temp_path /tmp/proxy; + fastcgi_temp_path /tmp/fastcgi; + uwsgi_temp_path /tmp/uwsgi; + scgi_temp_path /tmp/scgi; listen 8082; - access_log /opt/bitnami/openresty/nginx/logs/access.log; - error_log /opt/bitnami/openresty/nginx/logs/error.log; + access_log /dev/stdout; + error_log /dev/stderr; client_max_body_size 500m; @@ -165,9 +185,19 @@ spec: items: - key: nginx.conf path: nginx.conf + - name: nginx-runtime + emptyDir: {} containers: - name: nginx - image: "docker.io/beclab/aboveos-bitnami-openresty:1.25.3-2" + image: "docker.io/openresty/openresty:1.29.2.5-bookworm-fat" + command: + - /usr/local/openresty/bin/openresty + args: + - -g + - "daemon off; pid /tmp/nginx.pid;" + securityContext: + runAsUser: 1000 + runAsGroup: 1000 ports: - containerPort: 8080 protocol: TCP @@ -175,9 +205,6 @@ spec: protocol: TCP - containerPort: 8082 protocol: TCP - env: - - name: OPENRESTY_CONF_FILE - value: /etc/nginx/nginx.conf readinessProbe: exec: command: @@ -200,11 +227,10 @@ spec: memory: 64Mi volumeMounts: - name: nginx-config - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - - name: nginx-config - mountPath: /opt/bitnami/openresty/nginx/conf/server_blocks/nginx.conf + mountPath: /etc/nginx/conf.d/default.conf subPath: nginx.conf + - name: nginx-runtime + mountPath: /var/run/openresty --- apiVersion: v1 diff --git a/whisperwebuiv2/whisperwebuiv2server/templates/deployment.yaml b/whisperwebuiv2/whisperwebuiv2server/templates/deployment.yaml index 23eb14d36..4328bed2f 100644 --- a/whisperwebuiv2/whisperwebuiv2server/templates/deployment.yaml +++ b/whisperwebuiv2/whisperwebuiv2server/templates/deployment.yaml @@ -118,7 +118,7 @@ spec: apiVersion: batch/v1 kind: Job metadata: - name: {{ .Release.Name }}-download-models + name: {{ .Release.Name }}-download-models-{{ .Release.Revision }} namespace: {{ .Release.Namespace }} labels: app: {{ .Release.Name }}-downloadmodels @@ -129,6 +129,9 @@ spec: metadata: labels: app: {{ .Release.Name }}-downloadmodels + gateway.olares.io/shared-caller-outbound: "false" + annotations: + linkerd.io/inject: disabled spec: containers: - name: {{ .Release.Name }}-downloadmodels