tudeplom commited on
Commit
07478ab
·
verified ·
1 Parent(s): 337c058

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -1
app.py CHANGED
@@ -1,7 +1,6 @@
1
  import os
2
  import wave
3
  import json
4
- import uuid
5
  import tempfile
6
  import ffmpeg
7
  from flask import Flask, request, jsonify
@@ -67,10 +66,24 @@ def stt():
67
  webm_path = temp_webm_file.name
68
  audio_file.save(webm_path)
69
 
 
 
 
 
 
70
  # Đường dẫn file WAV tạm thời sau khi chuyển đổi
71
  wav_path = None
72
  wf = None
73
  try:
 
 
 
 
 
 
 
 
 
74
  # Chuyển đổi WebM sang WAV mono PCM
75
  wav_path = tempfile.mktemp(suffix=".wav")
76
  stream = ffmpeg.input(webm_path)
@@ -82,6 +95,7 @@ def stt():
82
  ar=16000, # Tần số mẫu 16kHz, phù hợp với Vosk
83
  format="wav"
84
  )
 
85
  ffmpeg.run(stream, overwrite_output=True, quiet=True, capture_stdout=True, capture_stderr=True)
86
 
87
  # Mở file WAV đã chuyển đổi
 
1
  import os
2
  import wave
3
  import json
 
4
  import tempfile
5
  import ffmpeg
6
  from flask import Flask, request, jsonify
 
66
  webm_path = temp_webm_file.name
67
  audio_file.save(webm_path)
68
 
69
+ # Kiểm tra kích thước tệp
70
+ if os.path.getsize(webm_path) < 100:
71
+ os.remove(webm_path)
72
+ return jsonify({"error": "Tệp âm thanh quá nhỏ hoặc rỗng!"}), 400
73
+
74
  # Đường dẫn file WAV tạm thời sau khi chuyển đổi
75
  wav_path = None
76
  wf = None
77
  try:
78
+ # Kiểm tra tệp WebM bằng ffprobe trước khi chuyển đổi
79
+ try:
80
+ probe = ffmpeg.probe(webm_path)
81
+ if 'streams' not in probe or not any(s['codec_type'] == 'audio' for s in probe['streams']):
82
+ raise ValueError("Tệp không chứa luồng âm thanh hợp lệ!")
83
+ except ffmpeg.Error as e:
84
+ error_message = e.stderr.decode('utf-8') if e.stderr else str(e)
85
+ return jsonify({"error": f"Lỗi kiểm tra tệp WebM: {error_message}"}), 500
86
+
87
  # Chuyển đổi WebM sang WAV mono PCM
88
  wav_path = tempfile.mktemp(suffix=".wav")
89
  stream = ffmpeg.input(webm_path)
 
95
  ar=16000, # Tần số mẫu 16kHz, phù hợp với Vosk
96
  format="wav"
97
  )
98
+ # Thêm cờ -vn để bỏ qua video nếu có và -y để ghi đè
99
  ffmpeg.run(stream, overwrite_output=True, quiet=True, capture_stdout=True, capture_stderr=True)
100
 
101
  # Mở file WAV đã chuyển đổi