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.

Dell XPS 13 é o melhor laptop para programadores Linux?

A linha de notebooks Dell XPS é uma das mais caras da empresa e, provavelmente, do mercado.
Com acabamento e componentes “de primeira”, contudo, estes equipamentos são as alternativas da Dell aos concorrentes da Apple ou da Sony/Positivo (Vaio), entre outros.

Leves, os notebooks XPS podem ser facilmente carregados de um canto a outro (em casa ou no escritório) — o que favorece as pessoas que gostam ou precisam trabalhar em ambientes diferentes.

Em artigo recente, no LinuxJournal, o colunista Petros Koutoupis fez uma análise do Dell XPS 13 Developer Edition Laptop, um produto do projeto Sputnik da Dell.

O projeto não tem correspondente no Brasil, mas o notebook está lá, presente nos canais de venda da empresa — com algumas diferenças.

O modelo testado por Koutoupis, vendido nos EUA, vem com 16 Gb de memória RAM e Ubuntu 18.04 LTS pré-instalado. No Brasil, a Dell insiste em vender uma máquina incrível como essa, com um sistema operacional ruim (você sabe qual…) — o que significa que vamos ter o (delicioso) trabalho de formatar e instalar o nosso SO preferido.

O review do Dell XPS 13

Sob o ponto de vista do colunista do LinuxJournal, o equipamento apresenta alguns pontos negativos. E vamos falar deles primeiro:

  • Não é um grande problema, mas é desagradável ainda se deparar com a tecla “windows” (tecla Super). Talvez não seja tão caro a Dell nos fazer a gentileza completa, substituindo o layout desta tecla por algo mais agradável.
  • A sensibilidade do touchpad e do touchscreen irão pedir um tempo para você se acostumar. No caso da tela sensível ao toque, pode acontecer de ativar o Dock do Ubuntu involuntariamente, ao ajustar a tela. O mesmo vale para a proximidade das teclas direcionais com as teclas PgUp e Pgdn — pedem um tempo para se acostumar.
  • A posição da câmera, na parte inferior da tela, oferece um péssimo ângulo (de cima para baixo) para você se mostrar para as pessoas. E, se você se preocupa com a privacidade, neste local, não é tão fácil tapar a câmera.
  • Além da entrada para fones de ouvido e cartão microSD, o resto é USB-C. Portanto, planeje a compra de adaptadores, caso pretenda conectar equipamentos antigos ao laptop.
  • Por fim, o autor relatou alguns problemas com o modo hibernação — a maquina não voltava, obrigando-o a desligar e ligar novamente o sistema. Isto significa que você provavelmente terá que fazer alguns ajustes: desligando a hibernação ou estendendo o período antes da suspensão.

Entre os pontos positivos, o autor destacou os seguintes:

  • O design externo — linhas simples e leveza do produto.
  • Tela sensível ao toque, extensa e suporte a 4K.
  • O áudio é de ótima qualidade — o que inclui um microfone que permite realizar videoconferências com total clareza.
  • O consumo de energia é muito bom. Além disso, o laptop permite checar o nível da bateria através de indicadores de led, na parte lateral, sem a necessidade de ligar ou sair do modo de suspensão. O autor deu nota máxima para este quesito.
  • A performance é tudo o que se espera deste produto da Dell — ou seja, é excelente.

conclusões

Koutoupis relatou ter tido uma experiência muito positiva com a máquina &mdash: “é poderosa e plenamente capaz de lidar com todo tipo de situações encontradas por desenvolvedores”.

Por ser leve, oferece mobilidade facilitada, permitindo que você o carregue para todos os lugares e retome o seu trabalho de maneira muito eficiente.

O sistema operacional Ubuntu brilha e mostra perfeita integração ao hardware.

Vale o investimento, de acordo com Petros.

Referências

Artigo de Petros Koutoupis: https://www.linuxjournal.com/content/review-dell-xps-13-developer-edition-laptop.
Página da Dell no Brasil: https://www.dell.com/pt-br/shop/notebooks-dell/novo-xps-13/spd/xps-13-9370-laptop.
Informações sobre o projeto Sputnik: https://elias.praciano.com/2017/06/conheca-o-projeto-sputnik-uma-parceria-entre-a-canonical-e-a-dell-para-oferecer-laptops-com-ubuntu-para-desenvolvedores/.
Outros posts sobre produtos Dell: https://elias.praciano.com/?s=dell+notebook.
Página da loja Dell na Amazon: https://amzn.to/2PuiyuQ.

Como estabilizar vídeo com o ffmpeg

Estabilização de imagens em vídeo pode ser feita de diversas formas, com diferentes métodos. Às vezes é possível combinar os métodos e estabilização, para obter resultados ainda melhores.
Se for para usar apenas um, o melhor método é aquele feito pelo hardware de filmagem, que compensa as tremidas ou movimentos involuntários da mão de quem está segurando o equipamento.

Ainda assim, ele não é 100% perfeito e pode ser complementado com uma estabilização via software — e é sobre isso que vamos falar neste post.

A estabilização do vídeo pode ser realizada de diversas formas, como afirmei no começo.
Quando ela é mecânica (física):

  1. O sistema (motor) de estabilização pode ficar embutido no corpo da câmera ou filmadora. Neste caso, é comumente chamado IBIS (In Body Image Stabilization, ou estabilização de imagem dentro do “corpo”, em uma tradução livre) ou, ainda, ICIS (In Camera Image Stabilization).
  2. Alguns fabricantes optam por colocar o sistema de estabilização da imagem dentro das lentes, quando se trata de uma câmera profissional que permite a troca deste acessório. O resultado é o mesmo, mas permite vender câmeras mais baratas e os usuários compram lentes estabilizadas apenas se necessitarem.
  3. Existe também a opção de usar estabilização tanto na câmera quanto na lente. Os dois sistemas podem trabalhar em conjunto para obter resultados ainda melhores.

A estabilização por software é muito usada em câmeras mais baratas e em celulares (onde não há espaço para embutir um sistema de estabilização físico).

há também métodos externos bastante eficientes para obter filmes com imagens estáveis e sem tremores indesejados — por exemplo, gimbals, tripés ou apenas apoiar a câmera sobre uma superfície estável.

Neste post, vamos abordar a técnica de estabilização por software. Embora exista programas GUI (de interface gráfica) plenamente capazes de fazer “a mágica”, vamos abordar o procedimento via CLI, com o ffmpeg.

O procedimento é rápido e muito eficiente… mas se você não gosta de digitar comandos, este artigo não é para você.

A estabilização de imagens em vídeo, via software, é realizada através de um corte (cropping), o que vai dar em uma perda na qualidade do resultado final.
Claro que você pode fazer uma estabilização leve e ter menos perda.
Se achar que o impacto na qualidade final da sua filmagem é aceitável, pode optar por uma aplicação mais pesada do recurso.
A escolha é sua.

Equipamento físico usado na minha filmagem

Só por curiosidade, o equipamento usado na minha filmagem é uma câmera Canon T6 (ou 1300D), com uma lente Canon EF-S 55-250mm f/4-5.6 IS STM.

Neste caso, trata-se de uma lente que possui mecanismo de estabilização de imagem.

O problema é que ao usar o extremo da lente, a estabilização nunca é perfeita. E eu achei que poderia obter um resultado ainda melhor se acrescentasse o recurso de estabilização por software ao meu vídeo.

Meu software de estabilização de imagem

Como já ficou claro no título, vamos usar os recursos presentes no ffmpeg, presente na maioria das distribuições Linux e que já tem compilado, dentro de si, a biblioteca para estabilização de imagens de vídeo, libvidstab.

O processo funciona com um recorte na imagem, que cria margem para os lados “absorverem” os movimentos mais abruptos.
O zoom é um dos “efeitos colaterais” do uso deste recurso.

Veja um exemplo de um dos quadros do vídeo original, abaixo:

Imagem original de vídeo ffmpeg
Vídeo original: beija1.mov

Veja um exemplo do mesmo quadro do vídeo após a estabilização:

Imagem de vídeo com estabilização cropada
Vídeo final: beija1-stab.mov

Percebeu a diferença (e o recorte)?. Tenha isso em mente: quanto mais estabilização você aplicar, via software, maior será o recorte da imagem em vídeo.

Como aplicar estabilização de imagem a vídeos com o ffmpeg

A ferramenta de edição e manipulação de vídeos, ffmpeg, possui diversos recursos para melhorar o seu trabalho.
Para obter estabilização, use a opção ‘-vf’ com o parâmetro ‘vidstabtransform’. Veja como é simples.

Para obter melhores resultados, contudo, recomendo rodar primeiro a detecção de estabilização. Com este procedimento, é criado um pequeno arquivo ‘transforms.trf’, no diretório local, em que os parâmetros e as variáveis de trabalho são registradas.

Veja como eu criei um arquivo transforms.trf em relação ao arquivo de vídeo ‘beija1.mov’ (substitua este nome pelo do seu arquivo, aí):


ffmpeg -i beija1.mov -vf vidstabdetect -f null -

Aguarde o andamento do processo e, em seguida, rode o procedimento de estabilização:


ffmpeg -i beija1.mov -vf vidstabtransform=smoothing=30:input="transforms.trf" beija1-stab.mov

Acima, substitua o nome do arquivo final ‘beija1-stab.mov’, pelo que você achar melhor.
Se não ficar satisfeito com o resultado da estabilização, altere o valor de ‘smoothing=30’ para um número mais alto. Tente 60, 120 etc.

Conclusão

Se achar interessante, pressione Ctrl+D para guardar esta página nos seus favoritos, para uma futura referência sobre o assunto.
Para o meu caso, o valor do smoothing mais adequado foi 600. Veja o que é melhor para você aí.

Leia mais dicas:

  1. Dicas de uso do ffmpeg: https://elias.praciano.com/?s=ffmpeg+vídeo
  2. Dicas de edição de vídeo: https://elias.praciano.com/tag/edicao-de-video/
  3. Dicas de edição de imagem: https://elias.praciano.com/tag/edicao-de-imagem
  4. Dicas relacionadas à câmera Canon T6 ou EOS 1300D: https://elias.praciano.com/tag/canon

Configure o DuckDuckGo como buscador padrão do Google Chrome

O DuckDuckGo.com é conhecido por ser um aplicativo online de buscas que respeita a sua privacidade.
É financiado com publicidade dentro do serviço, mas não rastreia o usuário e nem colhe informações pessoais.

A publicidade exibida se restringe às palavras-chave usadas na caixa de busca.
Na minha opinião, como usuário do serviço há mais de um ano, seus resultados não ficam a dever para nenhum outro concorrente.
Sempre obtenho resultados relevantes e rápidos.

Contudo, a sua opinião é a que importa, neste ponto.
Faça a experiência e me diga o que achou nos comentários.

Neste post, vou mostrar o passo a passo para configurar o DuckDuckGo como mecanismo de pesquisa padrão do navegador Google Chrome — tanto na versão desktop quanto na versão móvel (no seu celular).

Como configurar o DuckDuckGo no Chrome para desktop

No seu PC ou notebook, abra o navegador Google Chrome e, em seguida, clique no botão de menu, no canto superior direito.
Clique no item “Configurações”, ao final do menu.
google chrome confiigurações

No painel de configurações, role até a seção “Mecanismo de pesquisa” e selecione o DuckDuckGo, conforme a imagem abaixo.
Google Chrome duckDuckGo

Já pode fechar a aba. O ajuste já está feito.
Se quiser desfazer, futuramente, basta voltar a este mesmo painel.

Como alterar o mecanismo de pesquisa no Google Chrome para Android

No Android, o processo é semelhante, mas pode ser necessário fazer um acesso ao site https://duckduckgo.com antes, para que ele fique registrado no histórico do navegador e apareça na lista de opções dos sites busca “Visitados recentemente“.

Leia mais sobre o DuckDuckGo ou sobre privacidade.

Instale o navegador DuckDuckGo no seu celular e tenha muito mais privacidade.

O aplicativo de navegação na Internet, — ou Duckduckgo privacy browser — tem a proposta de oferecer novos padrões de confiança para seus usuários online.

O básico e o essencial da segurança online, ao fazer buscas e visitar sites na internet, são oferecidos pelo navegador, na forma de bloqueios de trackers (rastreadores), criptografia mais eficiente e um mecanismo de busca próprio.

A ideia é que a obtenção da privacidade, na Internet, seja tão simples quanto fechar as cortinas da sua casa.

Neste post vou abordar a instalação e alguns itens da configuração inicial do navegador DuckDuckGo para Android.

Não se iluda, contudo.

Atualmente, o estado da arte da privacidade só pode ser obtido ou alcançado mantendo distância dos dispositivos móveis.

Como instalar o navegador DuckDuckGo

há vários meios para obter e instalar o seu navegador seguro.

O próprio site possui a APK disponível para sistemas Android (links no final).

Se você tem a intenção de instalar a APK oficial, leia mais sobre o procedimento aqui.

Você também pode obter o app do site/F-Droid.

Configurações iniciais do DuckDuckGo.

Os itens descritos nesta seção são apenas opcionais.

Se quiser, pode começar usar o seu novo navegador sem nada disso.

Pessoalmente, gosto de instalar o widget de busca do DuckDuckGo direto na minha tela inicial.

Para isso, mantenha o dedo pressionado sobre uma área vazia da tela do seu Smartphone e selecione “Widgets”, embaixo.

Em seguida selecione o buscador do DuckDuckGo.

A minha segunda sugestão é configurar como seu navegador padrão.

Para isso, toque no botão de menu, canto superior direito do DuckDuckGo, para a lista do menu aparecer.

Em seguida, selecione “Settings”.

Agora ligue a opção “Set as default browser”.

Você será levado a uma tela de configuração do Android.

Nesta tela você deverá selecionar a opção de navegador padrão, em “App de navegador”.

Uma lista de aplicativos de navegação disponíveis no seu sistema será exibida.

Escolha o DuckDuckGo e… pronto.

Conclusão

A instalação e o uso do DuckDuckGo representa apenas um passo na direção da sua segurança e privacidade online.

Muitos outros passos precisarão ser dados, ainda.

Se você precisa se preocupar com a privacidade e a segurança em nível bem mais alto, o ideal é se afastar do celular, pelo menos nos momentos mais críticos (por exemplo, reunião com setores estratégicos da sua empresa).

Referências

Download da APK: https://github.com/duckduckgo/Android/releases

Download da Play Store: https://play.google.com/store/apps/details?id=com.duckduckgo.mobile.android

Download da Apple Store: https://itunes.apple.com/us/app/duckduckgo-search-stories/id663592361?mt=8

Download da F-Droid: https://f-droid.org/packages/com.duckduckgo.mobile.android/