Criador de playlist
Publicado por Allan Barcelos (última atualização em 26/11/2024)
[ Hits: 1.330 ]
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
Download de Wallpapers de Fotos do Espaço
Script para automatizar instalação do Gentoo
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Servidor vs Computador Convencional
Como administrar uma rede Linux através da ferramenta Webmin
Como escanear portas de um servidor através da ferramenta Nmap e como alterar a porta do SSH.
Marcando e desmarcando pacotes para atualização, instalação e remoção no Debian e agregados
Internet não funciona corretamente no Linux (4)
Após todos esses anos... youtube! (5)
Pendrive do Ubuntu 24.04 travando ao tentar fazer a instalação dual bo... (4)









