Atualizado: 10/12/2024

Trabalhando com YouTube: Download de Vídeos e Legendas usando Python

A biblioteca yt-dlp fornece ferramentas para download de vídeos, áudios e legendas do YouTube e outras plataformas. Este artigo detalha como utilizá-la para baixar vídeos e legendas de forma eficiente.

Antes de começar, instale a biblioteca pytube usando o gerenciador de pacotes pip:

pip install yt-dlp

Download de Vídeos

Aqui está um exemplo básico de como baixar um vídeo na melhor qualidade disponível:

import yt_dlp

url = "https://www.youtube.com/watch?v=J0Aq44Pze-w"

ydl_opts = {
    'format': 'best',
    'outtmpl': 'video.%(ext)s',
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])

Isso baixará o vídeo com o melhor formato disponível e salvará no arquivo video.mp4 (ou outro formato disponível).

Download de Áudio

Para baixar apenas o áudio do vídeo, você pode usar o seguinte código:

import yt_dlp

url = "https://www.youtube.com/watch?v=J0Aq44Pze-w"

ydl_opts = {
    'format': 'bestaudio',  # Baixa apenas o melhor áudio
    'outtmpl': 'audio.%(ext)s',  # Nome do arquivo de saída
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])

Isso baixará o áudio do vídeo com a melhor qualidade disponível e salvará no arquivo audio.webm (ou outro formato disponível).

Download de Playlists

O yt-dlp também permite o download de playlists completas. Aqui está um exemplo de como baixar todos os vídeos de uma playlist:

import yt_dlp

playlist_url = "https://www.youtube.com/playlist?list=PLlrxD0HtieHhS8VzuMCfQD4uJ9yne1mE6"

ydl_opts = {
    'format': 'best',
    'outtmpl': 'playlist/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s',  # Organiza os arquivos por pastas
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([playlist_url])

Os vídeos serão salvos em uma pasta com o nome da playlist, e cada arquivo será numerado de acordo com sua ordem na lista.

Download de Legendas

O yt-dlp também suporta o download de legendas, incluindo aquelas geradas automaticamente. Aqui está um exemplo de como baixar legendas em inglês e português:

import yt_dlp

url = "https://www.youtube.com/watch?v=J0Aq44Pze-w"

ydl_opts = {
    'format': 'best',
    'subtitleslangs': ['en', 'pt-BR'],  # Idiomas das legendas
    'writeautomaticsub': True,  # Inclui legendas automáticas
    'outtmpl': 'video_with_subtitles.%(ext)s',
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])

Isso salvará o vídeo junto com as legendas disponíveis. As legendas automáticas são ativadas pelo parâmetro writeautomaticsub.

Para salvar apenas as legendas, sem o vídeo:

ydl_opts = {
    'skip_download': True,  # Não baixa o vídeo
    'subtitleslangs': ['en'],
    'writeautomaticsub': True,  # Baixa legendas automáticas
    'outtmpl': 'subtitles.%(ext)s',
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])

As legendas serão salvas em um arquivo separado.

Listando Formatos Disponíveis

Antes de baixar, você pode listar todos os formatos disponíveis para um vídeo:

import yt_dlp

url = "https://www.youtube.com/watch?v=J0Aq44Pze-w"

ydl_opts = {
    'listformats': True,  # Lista formatos sem baixar
}

with yt_dlp.YoutubeDL(ydl_opts) as ydl:
    ydl.extract_info(url, download=False)

Isso exibirá todos os formatos disponíveis (como resoluções e codecs) para que você escolha o mais adequado.

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com