Spaces:
Sleeping
Sleeping
| 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)}") |