Criador de playlist
Publicado por Allan Barcelos (última atualização em 26/11/2024)
[ Hits: 999 ]
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
Restaura gerenciador de boot grub
Configurar gateway e servidor DNS com dialog
baixar mp3 do site mp3tube.net
Criador de árvore de compilação
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
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Programa fora de escala na tela do pc (10)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)
O programa assinador digital (1)









