29
avril 2016

Shell Script e Zenity com youtube-dl

Escrito por Mario Medeiros não comentários

 

 

Existem diversas formas de se baixar os vídeos do Youtube.
Uma forma que eu me habituei, foi com o youtube-dl (https://rg3.github.io/youtube-dl/).

Também existem versões para Linux, Mac e Ruwindows.

Vamos utilizar o linux. Nas outras plataformas eu ainda não testei.

Fiz os testes no linux mint com ambiente cinnamon.

È utilizado via linha de comandos pelo terminal Linux e existem vários parâmetros para uso do comando.

Tanto no site do projeto quanto no proprio youtube-dl existe o help do comando. Use youtube-dl -help.

Aqui vou mostrar como utilizar de uma forma simples, direta e com um pouco de preguiça também.

Eu preferi baixar o youtube-dl (https://rg3.github.io/youtube-dl/download.html) e seguir as intruções da página.
Segui as instruções do site e só mudei o caminho de destino, que está diferente na minha distro.
 

sudo wget https://yt-dl.org/downloads/2016.04.24/youtube-dl -O /usr/bin/youtube-dl
sudo chmod a+rx /usr/bin/youtube-dl

 

Após a instalação conforme instruções do site (que estão acima também), abra o terminal, escolha o diretório e dê o comando básico que é:

youtube-dl <link-do-youtube>

Ele vai baixar o vídeo no diretório atual.

Até aí, nada de mais. Mas abrir o terminal, escolhe um diretório toda vez que quiser baixar o vídeo, não é lá muito prático.

Fiz um shell script que facilita o uso da aplicação e deixei visualmente um pouco mais interessante, usando o zenity.

Zenity é uma biblioteca Gtk+ que pode ser utilizada em conjunto com shell scripts. Foi o que eu fiz aqui.
Para saber mais sobre o Zenity acesse o link do site oficial: https://help.gnome.org/users/zenity/stable/
Existem diversos outros sites sobre o Zenity.

Aqui vamos utilizar de forma mais simples e direta sem muitos recuros ou firulas. É só para facilicar o uso do youtube-dl mesmo.

Fiz o seguinte script e gravei no diretório de scripts. Pode ser em /home/usuario/scripts
Dê um nome qualquer e dê atributos de execução. Pode usar o chmod +x no arquivo.

#!/bin/bash
#
#Autor: Mario Medeiros
#Data: 2016-04-28
#Versão: 0.1

link=$(zenity --title="Youtube Downloader" --text="Baixar Video" --entry)

youtube-dl $link -o '/home/usuario/videos_youtube/%(title)s' | tee >(zenity --progress --title="YouTube Downloader" --text="Baixando" --pulsate)

Execute o arquivo. Por exemplo, supondo que o arquivo tenha o nome downloads_yotube.sh, use assim: ./downloads_yotube.sh

Vai aparecer a caixa de diálogo para inserir o link do vídeo. Copie o link do vídeo e cole no campo da janela e depois clique em OK.

Aguarde a janela de progresso terminar e clique em OK. Pronto, já baixou o vídeo.

Explicando um pouco do script:

Nesse script eu coloquei uma variável link que é o link do video no youtube e adicionei entre parênteses os comandos so zenity para criar as janelas gráficas.
O comando youtube-dl com o parâmetro -o indica onde eu quero gravar o arquivo.
Este parâmetro define vários detalhes como nome do video original e outros. No caso eu usei somente a saída para o local e o título, que é o %(title)s
Para fazer a janela de progresso que fica com a barra pulsando de um lado para outro até o final do download do arquivo, eu coloquei o pipe seguido dos comandos para mostrar a jenela.

No demais é só aguardar baixar o video. Se for no diretório onde será gravado o arquivo, poderá ver o mesmo sendo gravado e aumentando de tamanho.

Pra facilitar eu criei no desktop do cinammon, um lançador de aplicativo. Aí é só dar um clique duplo e pronto, é só usar.

É bem simples, básico, mas atende minha preguiça usual. É possível melhorar o script para mais recurso e facilidades, mas como desta forma me atendeu, vou deixá-lo assim, até surgir alguma necessidade diferente.

 

Categorizado em : Linux Tags : sem tags

Escrever um comentário

Dígite o terceiro caráter da palavra zn7dwre ? :