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)}")