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!