import subprocess from constantes import YOUTUBE_COOKIE_PATH from file_util import File_Util class Video_Util: def download_video_from_url(url: str, output_path: str, video_file_name: str) -> str: """Baixa o vídeo do YouTube usando yt-dlp.""" video_path = f'{output_path}/{video_file_name}.%(ext)s' print(f"Baixando vídeo de {url} para {video_path}...") try: # Comando yt-dlp para baixar o melhor formato mp4 command = [ 'yt-dlp', "--cookies", YOUTUBE_COOKIE_PATH, '-f', 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best', '-o', video_path, url ] result = subprocess.run(command, check=True, capture_output=True, text=True) lista_arquivos = File_Util.retirar_sufixo_codec_arquivo(output_path) print("Download de áudio concluído com sucesso.") return f"{output_path}/{lista_arquivos[0]}" except subprocess.CalledProcessError as e: print(f"Erro ao baixar o vídeo: {e}") print(f"Saída do erro: {e.stderr}") return False except FileNotFoundError: print("Erro: O comando 'yt-dlp' não foi encontrado. Certifique-se de que ele está instalado e no PATH do sistema.") print("Você pode instalá-lo com: pip install yt-dlp") return False