Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)

Publicado por Enio Ferlin em 19/06/2025

[ Hits: 164 ]

Blog: http://lattes.cnpq.br/0097812690686190

 


Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)



Olá, pessoal! Atualizando o script da minha dica anterior: Procurando vídeos de YouTube pelo terminal e assistindo via mpv.

Se você busca uma forma leve, sem anúncios e sem rastreamento para consumir conteúdo do YouTube, diretamente do seu terminal Linux, esta dica é para você!

Passo a Passo para Configurar o Script

1. Instalação das Dependências

Para o funcionamento do script, precisaremos dos seguintes aplicativos: yt-dlp (para baixar informações do YouTube), mpv (o reprodutor de vídeo) e jq (um processador JSON para linha de comando). Instale-os de acordo com a sua distribuição:

No Debian/Ubuntu e derivados:
sudo apt-get install jq yt-dlp mpv

No Fedora/CentOS/RHEL e derivados:
sudo dnf install jq yt-dlp mpv
(Nota: O comando original usava yum para Fedora, mas dnf é o gerenciador de pacotes moderno e recomendado.)

2. Criação do Arquivo do Script

Agora, vamos criar o arquivo onde o nosso script residirá. Você pode chamá-lo como quisermos; no exemplo, usaremos "yt" e o colocaremos num diretório comum para executáveis do sistema, como /usr/local/bin/.

sudo nano /usr/local/bin/yt

Este comando abrirá o editor de texto nano para que você possa colar o conteúdo do script.

3. Inserindo o Código do Script

Copie o script abaixo e cole-o dentro do arquivo que você acabou de criar no nano. Salve e saia do editor (geralmente Ctrl+O para salvar, Enter para confirmar e Ctrl+X para sair).

#!/bin/bash

tempfile=$(mktemp)
youtube_dl_log=$(mktemp)

query="ytsearch8:$*"
yt-dlp -j "$query" > "$tempfile" 2>"$youtube_dl_log"

if [ ! -s "$tempfile" ]; then
    echo "Nenhum resultado encontrado ou erro no yt-dlp:"
    cat "$youtube_dl_log"
    rm "$tempfile" "$youtube_dl_log"
    exit 1
fi

declare -a youtube_urls
declare -a youtube_titles

mapfile -t youtube_titles < <(jq -r '.fulltitle' "$tempfile")
mapfile -t youtube_urls < <(jq -r '.webpage_url' "$tempfile")

for i in "${!youtube_titles[@]}"; do
    printf "[%d] %s\n" $((i + 1)) "${youtube_titles[$i]}"
done

while true; do
    echo -e "\nDigite o número do vídeo escolhido (ou 'q' para sair):"
    read -r input

    if [[ "$input" == "q" ]]; then
        break
    elif [[ "$input" =~ ^[0-9]+$ ]] && (( input >= 1 && input <= ${#youtube_urls[@]} )); then
        mpv "${youtube_urls[$((input - 1))]}" &
    else
        echo "Entrada inválida."
    fi
done

rm "$tempfile" "$youtube_dl_log"

4. Concedendo Permissão de Execução

Para que o seu sistema possa executar o script, você precisa dar a ele permissão de execução. Use o comando chmod para isso:

sudo chmod +x /usr/local/bin/yt

Como Usar o Script

Com tudo configurado, o uso é muito simples:

Abra o seu terminal e digite yt seguido da sua pesquisa entre aspas. Por exemplo:

yt "melhores dicas linux"

O script retornará uma lista dos 8 vídeos mais relevantes da sua pesquisa (o número de resultados é definido na linha query="ytsearch8:$*" do script, você pode alterá-lo se desejar mais ou menos resultados).

Em seguida, basta digitar o número correspondente ao vídeo que deseja assistir e pressionar Enter. O mpv será iniciado e reproduzirá o vídeo, sem propagandas e com um consumo de recursos muito baixo.

Espero que esta dica seja útil para quem busca uma experiência de YouTube mais limpa e focada no terminal!

Até a próxima!

Outras dicas deste autor

Bloqueando telemetria no Deepin 23.1

Gravação de tela com temporizador

Procurando vídeos de YouTube pelo terminal e assistindo via mpv

Complementando o Swaybar

Leitura recomendada

Comentando várias linhas em scripts bash

Renomeando em massa sem precisar instalar comandos adicionais

Aliases Cores

Bash: Gráficos estatísticos de tráfego de rede

Telinha simples de loading.... em Shell Script

  

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