Como ver/ouvir vídeo/áudio via Terminal de modo prático
Publicado por Sidnei Serra (última atualização em 28/07/2025)
[ Hits: 1.699 ]
Homepage: https://www.youtube.com/@alquimistaTI
Tendo como base o script postado pelo Ênio Ferlin (blog: http://lattes.cnpq.br/0097812690686190) através de sua postagem em https://www.vivaolinux.com.br/dica/Procurando-vdeos-de-YouTube-pelo-terminal-e-assistindo-via-mpv-20... dei um upgrade no mesmo onde você escolhe a resolução do vídeo e se quer ver ou apenas ouvir, com as escolhas sendo mostradas em H264 e AAC para facilitar ao máximo o desempenho em máquinas mais modestas que podem ficar sobrecarregadas com AV1, VP9 e Opus.
O uso é como o original do autor (sugiro a leitura em caso de erro): o nome aqui é "escolha.sh", salve ou coloque o arquivo em /usr/local/bin/ e, no Terminal, digite sem as aspas "escolha.sh palavras a procurar". Ou seja, se você quiser procurar por vídeos/áudios que tenham "jogo seleção brasileira feminina" seria:
escolha.sh jogo seleção brasileira feminina
vai aparecer as opções de áudio e vídeo, escolha a desejada e aguarde um pouco. As opções encontradas (no script, 8 delas mas podem ser aumentadas) listarão a sua procura e depois é só escolher a desejada. Dá até pra procurar por playlists.
Pacotes para instalar:
jq
mpv
yt-dlp
ffmpeg
#!/bin/bash
tempfile=$(mktemp)
youtube_dl_log=$(mktemp)
# Escolher resolução
echo "Escolha a qualidade desejada:"
echo "1) 360p"
echo "2) 480p (padrão compatível: AVC1 + MP4A)"
echo "3) 720p"
echo "4) 1080p"
echo "5) Apenas áudio (MP3/AAC)"
read -rp "Digite o número da opção: " quality_choice
# Definir o formato com base na escolha
case "$quality_choice" in
1) format="bestvideo[height<=360][vcodec^=avc1]+bestaudio[acodec^=mp4a]" ;;
2) format="bestvideo[height<=480][vcodec^=avc1]+bestaudio[acodec^=mp4a]" ;;
3) format="bestvideo[height<=720][vcodec^=avc1]+bestaudio[acodec^=mp4a]" ;;
4) format="bestvideo[height<=1080][vcodec^=avc1]+bestaudio[acodec^=mp4a]" ;;
5) format="bestaudio[acodec^=mp4a]" ;;
*) echo "Opção inválida. Usando 480p como padrão."; format="bestvideo[height<=480][vcodec^=avc1]+bestaudio[acodec^=mp4a]" ;;
esac
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
echo "Iniciando vídeo em mpv com formato: $format"
mpv --ytdl-format="$format" "${youtube_urls[$((input - 1))]}"
break
else
echo "Entrada inválida."
fi
done
rm "$tempfile" "$youtube_dl_log"
Enviar gráficos 2D pela janela de chat no Kopete
Cadastrar máquina Win2K ou XP no Linux para Domínio
Script para Gerenciamento de Pacotes no Slackware
Nenhum comentário foi encontrado.
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









