import os import gradio as gr import ffmpeg def video_to_audio(video_file): if not video_file: return "Nie załadowano pliku.", None # Ścieżki do plików input_path = video_file.name base_name = os.path.splitext(os.path.basename(input_path))[0] # Wyciągnięcie nazwy pliku bez rozszerzenia output_path = f"{base_name}_audio.mp3" # Generowanie unikalnej nazwy pliku wynikowego # Konwersja za pomocą ffmpeg try: ffmpeg.input(input_path).output( output_path, ac=1, # Mono audio audio_bitrate='128k' # Bitrate 128 kbps ).run(overwrite_output=True, quiet=True) return "Konwersja zakończona sukcesem!", output_path except Exception as e: return f"Błąd: {str(e)}", None # Gradio UI iface = gr.Interface( fn=video_to_audio, inputs=gr.File(label="Załaduj plik wideo"), outputs=[ gr.Text(label="Status"), gr.File(label="Pobierz ścieżkę audio") ], title="Konwerter Wideo na Audio", description="Załaduj plik wideo, a aplikacja wyodrębni ścieżkę audio, przekonwertuje ją do mono i 128 kbps." ) # Uruchomienie aplikacji if __name__ == "__main__": iface.launch()