Razões para editar vídeos na linha de comando.

Certas situações podem parecer coisa de maluco, quando ouvimos pela primeira vez.
Ao olhar por outra perspectiva, é possível descobrir que fazem mais sentido que inicialmente.

O Linux é um ambiente estável, poderoso e amigável para softwares de edição de vídeo.
Algumas ferramentas de edição GUI (interface gráfica) já foram usadas em produções cinematográficas importantes.

E é comum apenas pensarmos em softwares GUI para realizar este tipo de trabalho. Afinal você “precisa ver o que está sendo feito no seu vídeo”, não é?

Uma das maiores justificativas para se usar o ambiente gráfico é o WYSIWYG (What You See Is What You Get), ou seja, “o que você vê é o que vai obter”.
O meu argumento, neste texto, é que se você já sabe de antemão o resultado do procedimento ou deseja ter várias mídias produzidas simultaneamente e rapidamente, a CLI (linha de comando, terminal) é a melhor resposta.

Nem sempre as ferramentas GUI exibem em tempo real os procedimentos aplicados ao seu trabalho. Além disso, elas podem ser bastante lentas — por que toda a interface gráfica do programa está disputando recursos e tempo de processamento preciosos com as tarefas que você precisa realizar.

Ao exportar um arquivo de mídia, fazendo conversão de formatos, usualmente, a interface fica “congelada” na janela da barra de progresso.

A depender da complexidade da tarefa, todo o seu sistema pode ficar indisponível até a devida conclusão da tarefa.

Se eu preciso citar um caso real, lá vai…

Recentemente eu queria obter um trecho de vídeo em câmera lenta. Só que não sabia se o ideal seria 25%, 50% ou algum outro valor intermediário em relação à velocidade original.

Portanto, eu queria 3 amostras de vídeo — inclusive para enviar pelo Telegram e obter outras opiniões.

Queria também reproduzir todos os 3 vídeos simultaneamente, lado a lado, na minha tela, para analisar e, eventualmente, fazer minha escolha.

Geralmente, para produzir 2 (ou mais) vídeos com velocidades de reprodução variadas, em uma ferramenta gráfica, será necessário fazer um de cada vez.

Neste caso, a CLI permite a abertura de vários terminais e você pode executar as tarefas simultaneamente, cada qual em seu terminal.

Na CLI, o seu sistema dificilmente ficará indisponível, enquanto você converte um ou mais vídeos.

É possível criar scripts ou arquivos em lote (batch files) com as sequências de comandos necessárias.

No final, você pode ter inúmeros resultados para analisar detalhadamente e decidir o que te agrada mais — e, se quiser, apagar o restante.

Não precisa ser radical, claro…

Use as duas metodologias para solucionar seus problemas.
Use a GUI aonde sente que ela pode ser mais produtiva. E use a CLI aonde ela couber melhor.

Às vezes a CLI é apenas o jeito mais divertido de executar o trabalho.
E quando a diversão entra por uma porta, a produtividade sai pela janela… sei como é isso. 🙂

Embora eu faça muito pouca edição de vídeo (e nem sou profissional desta área tão fascinante), os 2 casos que citei são aqueles em que (atualmente) mais uso a CLI: aplicar o slow motion em vídeo e fazer a conversão.

Nestes e em muitos outros casos, a CLI me ajuda a obter rapidamente vários arquivos finais — para que eu possa fazer as minhas escolhas.

Como sugestão final, guarde exemplos de comandos em um arquivo texto, que você possa copiar e colar no terminal — fazendo apenas a substituição dos nomes dos arquivos e dos parâmetros de execução dos procedimentos.

Experimente o gerenciador de arquivos (CLI) Ranger no Linux (ou no Mac)

O Ranger é um gestor de arquivos de linha de comando (CLI), escrito em Python.
O programa possui todas as funções presentes nos gestores mais usados, como o Nautilus, no Ubuntu.

Para quem não tem problemas com a CLI, como interface de execução de seus aplicativos, o Ranger ainda oferece a vantagem da velocidade de execução.

O programa permite executar tarefas relacionadas à gestão de arquivos com poucos toques no teclado, usando teclas simples ou composições de atalhos de teclado.

O uso do mouse é opcional.

Para ficar de acordo com a documentação oficial, no restante do texto, vou grafar o nome do utilitário em minúsculas.

Como instalar o ranger

Abra um terminal e execute o gestor de pacotes da sua distro, para fazer a instalação dele. Segue um exemplo, usando o apt (Debian/Ubuntu):


sudo apt install ranger

Junto com o utilitário, é instalado o navegador de Internet w3m — também com interface em modo texto ou CLI.

Outras extensões são instaladas e podem ser usadas à medida em que forem necessárias, como o rifle, para abrir arquivos.
As configurações permitem definir outros programas para executar tarefas específicas a partir do ranger.

Se precisar visualizar alguma imagem ou outro tipo de arquivo de dentro do ranger, ele abrirá o visualizador padrão do sistema.
Se você usa apenas o modo texto, no seu sistema, recomendo instalar o feh, para visualizar suas imagens.

Como usar o ranger

Ao rodar o programa, ele irá mostrar os arquivos dentro do diretório (pasta) atual.
Use as setas do teclado para percorrer os diretórios e pressione Enter, para realizar ações em relação aos arquivos.

Você pode sair do programa, a qualquer momento, pressionando a tecla ‘q’.

Configuração do ranger

O ranger cria um subdiretório com arquivos de configuração básica no home, ou seja, em ‘~/.config/ranger/’
Muitas configurações, contudo, continuarão a ser lidas nos arquivos principais, fora do seu diretório home.
Para ter acesso completo à configuração do aplicativo, copie todos os arquivos pertinentes ao seu diretório particular, com o seguinte procedimento:


ranger --copy-config=all

creating: /hem/justincase/.config/ranger/rifle.conf
creating: /hem/justincase/.config/ranger/commands.py
creating: /hem/justincase/.config/ranger/commands_full.py
creating: /hem/justincase/.config/ranger/rc.conf
creating: /hem/justincase/.config/ranger/scope.sh

> Please note that configuration files may change as ranger evolves.
  It's completely up to you to keep them up to date.

> To stop ranger from loading both the default and your custom rc.conf,
  please set the environment variable RANGER_LOAD_DEFAULT_RC to FALSE.

Os dois avisos, dados ao final da execução do comando, acima, dão conta de:

  1. Os desenvolvedores do programa podem introduzir eventuais modificações na forma como os arquivos de configuração funcionam ou na sua estrutura. Portanto, caberá a você fazer esta atualização.
  2. Para forçar o programa a carregar apenas as configurações personalizadas do usuário, altere o valor da variável de ambiente RANGER_LOAD_DEFAULT_RC para FALSE.
    Este procedimento pode ser feito assim, na linha de comando:

    
    RANGER_LOAD_DEFAULT_RC=FALSE
    
    

    Leia mais sobre variáveis de ambiente aqui: variáveis de ambiente no Linux.

Esquemas de cores do ranger

Ainda no diretório de arquivos de configurações do ranger, é possível alterar o esquema (ou tema) atual de cores do programa, caso você esteja insatisfeito com o que está vendo.

Para isso abra o arquivo ~/.config/ranger/rc.conf e localize a linha

set colorscheme default

Você pode usar uma das 4 opções: default (padrão), jungle, snowou solarized.
Pessoalmente, gosto do tema default. Mas o snow também é legal. (y)

Você pode criar novos esquemas e gravá-los em ~/.config/ranger/colorschemes.

Teclas de navegação dentro do ranger

O programa usa as mesmas teclas do editor Vim.

Basicamente, é isso aqui:

  • → ↓ ↑ ← as setinhas do teclado
  • h — para subir na hierarquia de diretórios
  • gg — para ir ao início da lista
  • G — para ir ao fim da lista

A linha de comando

O ranger tem uma linha de comando, a partir da qual, é possível executar comandos da shell.
Para acessar a CLI interna do ranger tecle ‘!’.

O utilitário possui também comandos internos, como o ‘du’ — que mostra o uso atual do diretório (tal como na shell).
Há outros comandos, que podem ser acessados a partir do pressionamento da tecla ‘d’. Experimente.

Como ativar o mouse no editor Vim

Ativar e usar as funções básicas de um mouse, dentro do editor Vim é bastante fácil.
É possível ativar o dispositivo para a sessão atual ou incluir o parâmetro de ativação no arquivo de configuração, para mantê-lo ativo permanentemente.

Ok. Usar o mouse no editor Vim pode parecer um contrassenso – e realmente é.
O editor foi concebido por pessoas que se deram conta de que usar o mouse durante o trabalho de escrever é extremamente contraproducente.

Mas, se você precisa, é muito fácil ajeitar isto.
Dentro do Vim, tecle ESC para ir para a linha de comando e rode


:mouse=a

Para desativar o dispositivo, dentro do Vim, execute:


:mouse=""

Para desativar o mouse apenas no modo comando, use ‘-=c’:


:mouse-=c

Foi difícil?! 😉
Para quem usa o GVim algumas outras opções de ajuste do mouse.

Divirta-se com o cowsay

O cowsay é um pequeno aplicativo escrito em Perl, que pode ser usado para espairecer e refrescar os pensamentos, no Linux.
Resumidamente, é uma vaca configurável e falante.

O aplicativo exibe uma vaquinha em ASCII (veja a imagem abaixo), com uma mensagem dentro de um balão.
cowsay ascii art

Um ótimo lugar para usar o programa é de dentro de seus script, toda vez que precisar se comunicar com o seu usuário.

A vaquinha pode ser uma maneira simpática de avisar que “algo deu errado” ou anunciar o sucesso de alguma operação.
Você é que sabe.

Instale o cowsay a partir do repositório oficial da sua distro. No Debian e Ubuntu, use o apt:


sudo apt install cowsay

Execute o programa, fornecendo uma pequena linha de texto:


cowsay "O site elias.praciano.com tem vários artigos sobre Linux"

/ O site elias.praciano.com tem vários \
\ artigos sobre Linux                  /
 --------------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Fácil, não é?

Experimente especificar a largura (width, em inglês) máxima de cada linha, dentro do balão:


cowsay -W10 "___elias .praciano .com___"

 ___________
/ ___elias  \
| .praciano |
\ .com___   /
 -----------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Use a vaquinha no modo Borg (repare nos olhinhos…) com a opção -b:


cowsay -W35 -b "WEBSITE: https://elias.praciano.com TWITTER: https://twitter.com/coisasdogeek"

 __________________________________
/ WEBSITE:                         \
| https://elias.praciano.com       |
| TWITTER:                         |
\ https://twitter.com/coisasdogeek /
 ----------------------------------
        \   ^__^
         \  (==)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Eu não curto maus tratos aos animais… mas existe o modo da vaquinha morta (dead cow), com a opção -d:


cowsay -W15 -d "Eu estou parecendo o cachorro do Elias, que dorme com a língua de fora... "

 _____________
/ Eu estou    \
| parecendo o |
| cachorro do |
| Elias, que  |
| dorme com a |
| língua de   |
\ fora...     /
 -------------
        \   ^__^
         \  (xx)\_______
            (__)\       )\/\
             U  ||----w |
                ||     ||

Experimente usar a opção -g:


cowsay -W15 -g "A opção -g invoca o modo greedy, ou seja, modo ganancioso."

 _______________
/ A opção -g    \
| invoca o modo |
| greedy, ou    |
| seja, modo    |
\ ganancioso.   /
 ---------------
        \   ^__^
         \  ($$)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Segue o modo paranoia, com -p:


cowsay -W15 -p "Modo «paranoia»"

 ____________
/ Modo       \
\ «paranoia» /
 ------------
        \   ^__^
         \  (@@)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Vaquinha chapada com -s:


cowsay -s "Modo chapada ou «stoned»"

 __________________________
< Modo chapada ou «stoned» >
 --------------------------
        \   ^__^
         \  (**)\_______
            (__)\       )\/\
             U  ||----w |
                ||     ||

Vaquinha cansada, com -t:


cowsay -t "Modo cansada ou «tired»"

 _________________________
< Modo cansada ou «tired» >
 -------------------------
        \   ^__^
         \  (--)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Experimente ainda estas outras opções:

  • -y — Vaca rejuvenescida (youthful)
  • -w — Oposto de cansada

Se quiser ajustar por conta própria os olhos da vaca, use a opção -e:


cowsay -e "↓↓" "meus olhinhos"

 _______________
< meus olhinhos >
 ---------------
        \   ^__^
         \  (↓↓)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Altere a aparência da língua da vaca com -T:


cowsay -T "YY" "minha pequena linguinha"

 _________________________
< minha pequena linguinha >
 -------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
             YY ||----w |
                ||     ||

Você quer outros animais?

Se você não gosta de vaquinhas simpáticas, experimente um dos outros vários animais disponíveis pelo programa.
Com a opção -l, é possível listar todos:


cowsay -l

Cow files in /usr/share/cowsay/cows:
apt bud-frogs bunny calvin cheese cock cower daemon default dragon
dragon-and-cow duck elephant elephant-in-snake eyes flaming-sheep
ghostbusters gnu hellokitty kiss koala kosh luke-koala mech-and-cow milk
moofasa moose pony pony-smaller ren sheep skeleton snowman stegosaurus
stimpy suse three-eyes turkey turtle tux unipony unipony-smaller vader
vader-koala www

Como são mais de 40 opções, vou deixar para você a surpresa ao explorá-las, uma a uma.

Por fim, você pode direcionar o output de comandos para utilitário com um pipe:


uptime | cowsay -f daemon

 _____________________________________
/  16:53:14 up 5 days, 22:25, 1 user, \
\ load average: 0,25, 0,43, 0,58      /
 -------------------------------------
   \         ,        ,
    \       /(        )`
     \      \ \___   / |
            /- _  `-/  '
           (/\/ \ \   /\
           / /   | `    \
           O O   ) /    |
           `-^--'`<     '
          (_.)  _  )   /
           `.___/`    /
             `-----' /
<----.     __ / __   \
<----|====O)))==) \) /====
<----'    `--' `.__,' \
             |        |
              \       /
        ______( (_  / \______
      ,'  ,-----'   |        \
      `--{__________)        \/

Obtenha frases aleatórias e divertidas no terminal do Linux

Se hackers gostam de usar a linha de comando (CLI), consistindo de um terminal com fundo escuro, também gostam de se divertir durante o uso.
O ‘fortune’ é uma das longas tradições do universo UNIX. Se você ainda não a conhece, ainda tá em tempo.

Consiste em um pequeno programa, acompanhado de um banco de dados de frases e sentenças.
As frases podem ser engraçadas ou podem exibir curtas dicas de uso do sistema operacional.
Estão disponíveis em vários idiomas, incluindo o português.
Instale o fortune, usando o seu gestor de pacotes favorito (yum, dnf, apt etc).
No Debian/Ubuntu, use o apt:


sudo apt install fortune

Uma vez instalado, já pode ser executado no terminal:


fortune

    "The glory of creation is in its infinite diversity."
    "And in the way our differences combine to create meaning and beauty."
        -- Dr. Miranda Jones and Spock, "Is There in Truth No Beauty?",
           stardate 5630.8

Acima, diálogo retirado da série Star Trek (1968).
Star Trek

Como controlar ou escolher as frases do fortune

Se quiser ver mais frases relacionadas ou contendo a string “Star Trek”, use a opção -m:


fortune -m "Star Trek"

Prefere o Doctor Who!?


fortune -m "Doctor Who"

Fique atento para a caixa (maiúsculas/minúsculas) das palavras procuradas. O Fortune é sensível à caixa.

Como obter frases ofensivas no terminal

As frases ofensivas são parte da tradição e da brincadeira.

Aviso: Por favor, só ligue esta opção se você estiver querendo, do fundo do seu coração, ser ofendido(a).

Na maioria das distribuições, contudo, o banco de dados de frases ofensivas não é instalado.
É necessário fazer a instalação manual, se quiser:


sudo apt install fortunes-off

Agora é só executar, com a opção ‘-o’:


fortune -o

Obtenha dicas de uso do Linux

Para ver frases mais construtivas (com dicas de uso do Debian, por exemplo), instale o pacote Debian Hints:


sudo apt install fortunes-debian-hints

E rode o programa:


fortune debian

ou


fortune debian-hints

Como obter a versão em português

Para ver frases selecionadas em português, é necessário instalar o arquivo fortunes-br:


sudo apt install fortunes-br

e rodar o programa assim:


fortune brasil

Como configurar para mostrar uma “fortuna” toda vez que abre um terminal

Este é o jeito que eu gosto de usar o fortune: com uma frase a cada vez que abro um terminal.
fortune quincas borba
Para isto, inclua o comando ‘fortune’, da maneira que achar melhor a sua execução, ao final do arquivo ~/.bashrc.