From 19ffe489ac6dda7fbbd28d2f607076bd83b33965 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CNaeel=E2=80=9D?= Date: Sat, 23 May 2026 06:38:50 +0400 Subject: [PATCH] =?UTF-8?q?v84:=20revert=20=D0=BF=D1=80=D0=BE=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=20=E2=80=94=20DPI=20=D1=80=D0=B5=D0=B6=D0=B5=D1=82=20mul?= =?UTF-8?q?tipart=20=D0=BD=D0=B0=20lang.kube5s.ru=20(408),=20ffmpeg=20?= =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- js/main.js | 2 +- server/proxy.py | 51 ------------------------------------------------- 2 files changed, 1 insertion(+), 52 deletions(-) diff --git a/js/main.js b/js/main.js index 9beeaa0..179c348 100644 --- a/js/main.js +++ b/js/main.js @@ -1,6 +1,6 @@ // ---------- Глобальные переменные и инициализация ---------- const GROQ_API_KEY = ''; -const VERSION = 'v83'; +const VERSION = 'v84'; let mediaRecorder, audioChunks = [], userAudioBlob = null, ttsText = ''; let isRecording = false, isAnalyzing = false, micAnalyser = null, micAnimId = null; diff --git a/server/proxy.py b/server/proxy.py index 7fb30b3..863b61b 100644 --- a/server/proxy.py +++ b/server/proxy.py @@ -1,9 +1,6 @@ #!/usr/bin/env python3 from flask import Flask, request, Response import requests -import subprocess -import tempfile -import os app = Flask(__name__) GROQ_BASE = "https://api.groq.com" @@ -24,11 +21,6 @@ def proxy(subpath): hdrs = {} if request.headers.get("Authorization"): hdrs["Authorization"] = request.headers["Authorization"] - - # Trim 0.2s from audio before sending to Whisper (server-side ffmpeg) - if subpath == "v1/audio/transcriptions" and request.method == "POST": - return proxy_transcription(url, hdrs) - if request.headers.get("Content-Type"): hdrs["Content-Type"] = request.headers["Content-Type"] r = requests.request(request.method, url, headers=hdrs, @@ -37,48 +29,5 @@ def proxy(subpath): out["Content-Type"] = r.headers.get("Content-Type", "application/json") return Response(r.iter_content(8192), status=r.status_code, headers=out) -def proxy_transcription(url, hdrs): - audio = request.files.get('file') if request.files else None - if not audio: - hdrs["Content-Type"] = request.headers.get("Content-Type", "") - r = requests.post(url, headers=hdrs, data=request.get_data(), timeout=60) - out = dict(CORS) - out["Content-Type"] = r.headers.get("Content-Type", "application/json") - return Response(r.iter_content(8192), status=r.status_code, headers=out) - - with tempfile.NamedTemporaryFile(suffix='.webm', delete=False) as tmp_in: - audio.save(tmp_in) - tmp_in_path = tmp_in.name - - tmp_out_path = tmp_in_path + '.wav' - - try: - subprocess.run([ - 'ffmpeg', '-y', '-ss', '0.2', - '-i', tmp_in_path, - '-f', 'wav', tmp_out_path - ], check=True, capture_output=True, timeout=15) - - files = {'file': ('audio.wav', open(tmp_out_path, 'rb'), 'audio/wav')} - data = {} - if request.form.get('model'): - data['model'] = request.form['model'] - if request.form.get('language'): - data['language'] = request.form['language'] - - r = requests.post(url, headers=hdrs, data=data, files=files, timeout=60) - except Exception as e: - print(f"[trim] ffmpeg failed: {e}, forwarding original") - hdrs["Content-Type"] = request.headers.get("Content-Type", "") - r = requests.post(url, headers=hdrs, data=request.get_data(), timeout=60) - finally: - os.unlink(tmp_in_path) - if os.path.exists(tmp_out_path): - os.unlink(tmp_out_path) - - out = dict(CORS) - out["Content-Type"] = r.headers.get("Content-Type", "application/json") - return Response(r.iter_content(8192), status=r.status_code, headers=out) - if __name__ == "__main__": app.run(host="127.0.0.1", port=8765)