Criador de playlist

Publicado por Allan Barcelos (última atualização em 26/11/2024)

[ Hits: 49 ]

Homepage: https://barcelos.dev

Download yt-playlist.sh




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.

  



Esconder código-fonte

#!/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

Scripts recomendados

LinkSymbol - Criador de links simbólicos

Manipulação dos arquivos criados pelo Motion

Script Backup ultimo arquivo criado em um diretorio feito TAR direto para DAT

Shell Script para Linux HOWTOs

Cálculo de determinantes de matrizes de ordem 2 e 3


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts