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.606 ]
Homepage: https://www.youtube.com/channel/UCRgokKtNlttdmg2RJEa2VYw
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"
Manipular serviços no Runit (Void Linux)
Download automatizado de instaladores para fileserver e afins
Nenhum comentário foi encontrado.
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)
O que houve com slackware ??? (12)









