Spaces:
Sleeping
Sleeping
File size: 1,320 Bytes
b93e571 7405a95 471e98b 7405a95 6a146f1 7405a95 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | import os
from pydub import AudioSegment
import tempfile
def validate_and_process_file(file_path):
"""
Waliduje plik i dzieli go na mniejsze części, jeśli przekracza 25 MB.
"""
max_size_mb = 25
file_size_mb = os.path.getsize(file_path) / (1024 * 1024)
if file_size_mb > max_size_mb:
# Podziel plik na części
audio = AudioSegment.from_file(file_path)
chunk_length_ms = 10 * 60 * 1000 # 10 minut w milisekundach
chunks = [audio[i:i + chunk_length_ms] for i in range(0, len(audio), chunk_length_ms)]
# Zapisz części do plików tymczasowych
temp_dir = tempfile.mkdtemp()
output_files = []
for i, chunk in enumerate(chunks):
output_file = os.path.join(temp_dir, f"chunk_{i}.mp3")
chunk.export(output_file, format="mp3")
output_files.append(output_file)
return output_files
else:
return [file_path]
def convert_mp4_to_mp3(file_path):
"""
Konwertuje plik MP4 na MP3.
"""
try:
audio = AudioSegment.from_file(file_path, format="mp4")
mp3_path = file_path.replace(".mp4", ".mp3")
audio.export(mp3_path, format="mp3")
return mp3_path
except Exception as e:
raise Exception(f"Błąd konwersji MP4 na MP3: {str(e)}") |