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

Publicado por Enio Ferlin em 28/06/2023

[ Hits: 1.776 ]

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

 


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



1. Para o funcionamento do script precisaremos dos apps yt-dlp, mpv e jq, que podem ser instalados da seguinte forma:

No Debian:

sudo apt-get install jq yt-dlp mpv

No Fedora:

sudo yum install jq yt-dlp mpv

2. Depois criaremos um arquivo que podemos chamar como quisermos, no meu caso, chamei de "yt":

sudo nano /usr/local/bin/yt

3. Agora só copiar o script abaixo dentro do arquivo:

#!/bin/bash

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

yt-dlp -j "ytsearch8:$*" > $tempfile

while IFS= read -r line
do
    youtube_urls+=("$line")
done < <(cat $tempfile | jq '.webpage_url' | tr -d '"' )

cat $tempfile | jq '.fulltitle, .webpage_url'

while :
do
    echo "Digite o número do vídeo escolhido."
    read i
    if [ ! x"$i" == x"" ]
    then
        # fazer a numeracao mais intuitiva (iniciar do 1 não 0)
        mpv ${youtube_urls[$i - 1]} &
    fi
done

4. Dar permissão de execução ao arquivo:

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

5. Funcionamento

No terminal digite yt "o que você quer buscar no youtube entre aspas" e apertar Enter, ele retornará os 8 vídeos mais indicados da pesquisa (no script o trecho "yt-dlp -j "ytsearch8:$*" > $tempfile" define o número de respostas, pode alterar conforme o gosto) , digitar o número do vídeo escolhido, apertar Enter e o mpv surgirá, sem propagandas e rastreamento.

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 (2025)

Complementando o Swaybar

Leitura recomendada

Lendo manpages no Firefox

Iniciando automaticamente o Firestarter com o modo gráfico sem senha

hwclock - Ajustando data e hora do hardware

Sed para formatar endereços MAC

Windows e Samba com Desktop padronizado

  

Comentários
[1] Comentário enviado por leoCCB em 04/07/2023 - 04:19h


Show

[2] Comentário enviado por removido em 25/10/2023 - 13:46h

Não aparece a numeração e o script não fecha quando clica no x do mpv fica no loop do while

coloquei a palavra linux

./yt linux

Resultado:

"O que é Linux? (Explicação COMPLETA para iniciantes) - 2023"
"https://www.youtube.com/watch?v=K05CssAbQgo"
"Nitrux Linux Review | THIS is Ubuntu's Parallel Universe Twin! (NEW)"
"https://www.youtube.com/watch?v=dAXMyO-B8OY"
"INSTALEI O SISTEMA OPERACIONAL DOS HACKERS, KALI LINUX"
"https://www.youtube.com/watch?v=ztAdVuQj7CQ"
"THUNDERBIRD: the SUCCESS STORY of LINUX!"
"https://www.youtube.com/watch?v=XYqkOxZMsfU"
"Por que Hackers usam o Kali Linux? - Conheça o Sistema"
"https://www.youtube.com/watch?v=ggVQNAcXok4"
"Let me explain... | Ubuntu 23.10 Impressions - Linux Distro Reviews"
"https://www.youtube.com/watch?v=qLgJbBO_Bcw"
"Gaming On Linux Revisited ..."
"https://www.youtube.com/watch?v=O_0cpXNP_X0"
"Top 5 Linux Distros For Older Hardware"
"https://www.youtube.com/watch?v=qUpdHF69BQY"

[3] Comentário enviado por maurixnovatrento em 29/10/2023 - 16:33h


Dica show.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10

[4] Comentário enviado por lobzmedunimes em 19/06/2025 - 19:48h


[2] Comentário enviado por removido em 25/10/2023 - 13:46h

Não aparece a numeração e o script não fecha quando clica no x do mpv fica no loop do while

coloquei a palavra linux

./yt linux

Resultado:

"O que é Linux? (Explicação COMPLETA para iniciantes) - 2023"
"https://www.youtube.com/watch?v=K05CssAbQgo"
"Nitrux Linux Review | THIS is Ubuntu's Parallel Universe Twin! (NEW)"
"https://www.youtube.com/watch?v=dAXMyO-B8OY"
"INSTALEI O SISTEMA OPERACIONAL DOS HACKERS, KALI LINUX"
"https://www.youtube.com/watch?v=ztAdVuQj7CQ"
"THUNDERBIRD: the SUCCESS STORY of LINUX!"
"https://www.youtube.com/watch?v=XYqkOxZMsfU"
"Por que Hackers usam o Kali Linux? - Conheça o Sistema"
"https://www.youtube.com/watch?v=ggVQNAcXok4"
"Let me explain... | Ubuntu 23.10 Impressions - Linux Distro Reviews"
"https://www.youtube.com/watch?v=qLgJbBO_Bcw"
"Gaming On Linux Revisited ..."
"https://www.youtube.com/watch?v=O_0cpXNP_X0"
"Top 5 Linux Distros For Older Hardware"
"https://www.youtube.com/watch?v=qUpdHF69BQY"



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

# Extrai os títulos e URLs
mapfile -t youtube_titles < <(jq -r '.fulltitle' "$tempfile")
mapfile -t youtube_urls < <(jq -r '.webpage_url' "$tempfile")

# Mostra os vídeos encontrados com índice
for i in "${!youtube_titles[@]}"; do
printf "[%d] %s\n" $((i + 1)) "${youtube_titles[$i]}"
done

# Loop para escolher e tocar vídeo
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"



Código melhorado, para quem ainda quiser usar!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts