Criador de playlist
Publicado por Allan Barcelos (última atualização em 26/11/2024)
[ Hits: 1.024 ]
Homepage: https://barcelos.dev
O script baixar_playlist.sh é uma ferramenta de linha de comando desenvolvida para facilitar o download de músicas do YouTube com base em uma pesquisa por gênero. Este script utiliza o yt-dlp, uma alternativa moderna ao [*****], para buscar, verificar e baixar vídeos em formato de áudio MP3.
Abaixo estão os principais recursos e funcionalidades do script:
Recursos e Funcionalidades
Download Automatizado de yt-dlp:
O script verifica se o binário do yt-dlp está presente no diretório de execução. Se não estiver, ele faz o download automaticamente a partir do repositório oficial do GitHub e define as permissões de execução adequadas.
Seleção de Gênero Musical:
O usuário é apresentado com um menu para escolher o gênero musical desejado. As opções disponíveis são:
Rock
Pop
Clássica
MPB
Escolha do Número de Músicas:
O usuário pode especificar quantas músicas deseja baixar. O script valida a entrada e usa um valor padrão de 10 músicas se a entrada não for um número válido.
Pesquisa e Download:
Com base no gênero e na quantidade especificada, o script realiza uma busca no YouTube, obtendo URLs dos vídeos. Ele verifica cada vídeo para garantir que não seja uma transmissão ao vivo, ignorando quaisquer vídeos ao vivo para evitar downloads indesejados.
Processamento e Salvamento:
Os vídeos que não são transmissões ao vivo são baixados como arquivos MP3 usando o yt-dlp. Os arquivos de áudio são salvos na pasta playlist, com nomes baseados no título dos vídeos.
Funcionamento do Script
Inicialização e Download do yt-dlp:
O script inicia verificando a presença do binário yt-dlp. Se não estiver presente, ele baixa o binário e torna-o executável.
Menu de Seleção de Gênero:
O usuário escolhe um gênero musical a partir de uma lista pré-definida.
Seleção de Quantidade de Músicas:
O script solicita ao usuário a quantidade de músicas desejadas e valida a entrada.
Busca e Verificação:
O script usa o yt-dlp para buscar vídeos no YouTube e verifica se cada vídeo é uma transmissão ao vivo.
Download das Músicas:
Músicas que não são transmissões ao vivo são baixadas em formato MP3 e salvas na pasta playlist.
Conclusão:
Após o download, o script informa que o processo foi concluído.
Requisitos
yt-dlp: O script baixa automaticamente a versão mais recente do yt-dlp, mas você precisa garantir que o script tenha permissão para executar downloads e executar o binário.
Internet: O script requer uma conexão com a Internet para buscar vídeos e realizar o download.
#!/bin/bash
# Nome do arquivo do yt-dlp
YT_DLP="yt-dlp"
# Função para baixar o yt-dlp se não estiver presente
baixar_yt_dlp() {
if [ ! -f "$YT_DLP" ]; then
echo "Baixando yt-dlp..."
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o "$YT_DLP"
chmod +x "$YT_DLP"
fi
}
# Função para mostrar o menu e obter a escolha do usuário
mostrar_menu() {
echo "Escolha um gênero de música:"
echo "1) Rock"
echo "2) Pop"
echo "3) Clássica"
echo "4) MPB"
read -p "Digite o número do gênero escolhido: " genero
}
# Função para escolher o número de músicas a serem baixadas
escolher_quantidade() {
read -p "Quantas músicas você deseja baixar? (Digite um número): " quantidade
if ! [[ "$quantidade" =~ ^[0-9]+$ ]]; then
echo "Número inválido. Usando 10 músicas por padrão."
quantidade=10
fi
echo $quantidade
}
# Função para obter URLs de vídeos do YouTube
obter_urls() {
local pesquisa=$1
local quantidade=$2
./"$YT_DLP" "ytsearch${quantidade}:${pesquisa}" --get-id | awk '{print "https://www.youtube.com/watch?v="$1}'
}
# Função para verificar se o vídeo é uma live
verificar_live() {
local url=$1
local info
info=$(./"$YT_DLP" -j "$url" 2>/dev/null)
echo "$info" | grep -q '"is_live": true'
}
# Função para baixar músicas usando yt-dlp
baixar_musicas() {
local urls=$1
local pasta_saida=$2
mkdir -p "$pasta_saida"
for url in $urls; do
if verificar_live "$url"; then
echo "O vídeo $url é uma transmissão ao vivo e será ignorado."
else
echo "Baixando $url..."
./"$YT_DLP" -x --audio-format mp3 -o "${pasta_saida}/%(title)s.%(ext)s" "$url"
fi
done
}
# Função principal
main() {
baixar_yt_dlp
mostrar_menu
case $genero in
1)
pesquisa="rock"
;;
2)
pesquisa="pop"
;;
3)
pesquisa="classical"
;;
4)
pesquisa="MPB"
;;
*)
echo "Opção inválida."
exit 1
;;
esac
quantidade=$(escolher_quantidade)
echo "Buscando $quantidade músicas no gênero selecionado..."
urls=$(obter_urls "$pesquisa" "$quantidade")
echo "Baixando músicas..."
baixar_musicas "$urls" "playlist"
echo "Download concluído."
}
main
Limpa o diretório atual, excluindo arquivos temporários
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Programa fora de escala na tela do pc (42)
\Boot sem espaço em disco (Fedora KDE Plasma 42) (5)
Preciso recuperar videos *.mp4 corrompidos (0)









