Spaces:
Sleeping
Sleeping
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 |