Como Baixar e Converter Vídeos do YouTube com Python: Script Grátis com Suporte para MP3 e MP4
Hoje em dia, com o volume de conteúdo no YouTube, às vezes queremos baixar vídeos ou apenas o áudio para ouvir offline. Embora existam várias ferramentas online para isso, muitos preferem uma solução personalizada e que garanta mais privacidade e controle. Se você é desenvolvedor ou entusiasta de programação, que tal um script em Python para baixar vídeos do YouTube e converter para MP3 ou MP4 automaticamente?
Neste post, vou compartilhar com vocês um script Python simples que faz o download de vídeos do YouTube, além de converter o áudio para MP3 caso seja necessário. O script lê as URLs diretamente de um arquivo CSV e salva os arquivos na pasta output
.
Principais Funcionalidades do Script:
- Download de Vídeos do YouTube em MP4: Basta passar a URL do vídeo e o script baixa automaticamente.
- Conversão para MP3: Se o formato desejado for MP3, o vídeo é baixado e convertido para áudio.
- Leitura de URLs e Formatos de um Arquivo CSV: Com isso, você pode baixar vários vídeos ou músicas de uma vez só.
- Barra de Progresso: Acompanha o progresso do download e da conversão para MP3.
Como Funciona
O script utiliza a biblioteca yt-dlp
, uma versão atualizada e mais eficiente do famoso youtube-dl
, para realizar os downloads. Para a conversão de vídeos para MP3, usamos a poderosa biblioteca moviepy
, que facilita a manipulação de arquivos de vídeo e áudio em Python.
Requisitos
Antes de começar, você precisará ter instalado:
- Python 3.6 ou superior
- FFmpeg: Ferramenta necessária para converter os vídeos para MP3.
- Bibliotecas Python como
yt-dlp
,moviepy
etqdm
.
Como Usar o Script
Instale as Dependências
Primeiro, você precisará clonar o repositório com o código e instalar as dependências. Basta rodar o seguinte comando no terminal:
git clone https://github.com/seu-usuario/youtube-downloader.git
cd youtube-downloader
pip install -r requirements.txt
Crie um Arquivo CSV
O arquivo CSV deve conter as URLs dos vídeos do YouTube e o formato desejado para cada um. Por exemplo:
URL_DO_VIDEO,FORMATO_DESEJADO
https://www.youtube.com/watch?v=WhUf7t8Pt_w,mp3
https://www.youtube.com/watch?v=WhUf7t8Pt_w,mp4
Execute o Script
Com tudo configurado, basta executar o script com o comando:
python download_youtube.py
O script vai baixar todos os vídeos listados no arquivo CSV e, caso o formato seja mp3
, realizará a conversão automaticamente.
Por que Usar Este Script?
- Privacidade: Diferente de ferramentas online, você não precisa compartilhar suas URLs ou downloads com terceiros.
- Flexibilidade: O script pode ser modificado conforme as suas necessidades. Quer baixar vídeos em outro formato? Basta ajustar o código!
- Automação: Adicione várias URLs ao arquivo CSV e o script faz o trabalho para você, sem precisar de intervenções manuais.
Código Completo
Aqui está uma amostra do código que você poderá encontrar no repositório:
import os
import csv
from yt_dlp import YoutubeDL
from moviepy.editor import AudioFileClip
from tqdm import tqdm
OUTPUT_FOLDER = 'output'
os.makedirs(OUTPUT_FOLDER, exist_ok=True)
def download_video(url, format_type):
ydl_opts = {}
if format_type == 'mp3':
ydl_opts = {
'format': 'bestaudio/best',
'outtmpl': f'{OUTPUT_FOLDER}/%(title)s.%(ext)s',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
}
elif format_type == 'mp4':
ydl_opts = {
'format': 'best',
'outtmpl': f'{OUTPUT_FOLDER}/%(title)s.%(ext)s',
}
try:
with YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
print(f"Download completo: {url}")
except Exception as e:
print(f"Erro ao baixar {url}: {e}")
def process_csv(file_path):
with open(file_path, newline='') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
if len(row) == 2:
url, format_type = row
print(f"Baixando {url} no formato {format_type}")
download_video(url.strip(), format_type.strip())
csv_file_path = 'videos.csv'
if __name__ == '__main__':
process_csv(csv_file_path)
Considerações Finais
Com este script, você tem total controle sobre o que baixa e como converte. O projeto é um ponto de partida excelente se você deseja personalizar ainda mais o processo de download e conversão de vídeos.
Caso tenha interesse em conferir ou modificar o código, você pode acessar o repositório do projeto no GitHub aqui.
Experimente, adapte o script para suas necessidades, e comece a baixar seus vídeos favoritos do YouTube agora mesmo!
Esse post foi estruturado para promover o uso do script, destacando suas funcionalidades e como ele pode ser útil para quem busca uma solução de download personalizada para vídeos do YouTube.
Repositório do projeto