Como copiar, cortar e colar trechos de um vídeo no Linux com o ffmpeg

O Linux tem ótimos editores de vídeo gráficos (GUI) e que podem ser usados para copiar trechos de um vídeo.
Neste tutorial, vou mostrar como realizar uma operação de edição — copiar/cortar um trecho de um vídeo e colar em um novo arquivo — usando a linha de comando (CLI).

O objetivo deste tipo de procedimento é criar um outro arquivo de vídeo, contendo apenas o trecho que você selecionou.

No meu exemplo, vou usar o arquivo de vídeo ‘video_original.mp4’, com 1 hora de duração.
Vamos supor que eu esteja interessado apenas em um trecho de 15 minutos, que desejo postar nas redes sociais.
Se o trecho começa aos 34 minutos e 14 segundos, o meu comando ficaria assim:


ffmpeg -i video_original.mp4 -vcodec copy -acodec copy -ss 00:34:14 -t 00:15:00 trecho001.mp4

Entenda melhor o comando:

  • -i — opção input onde é indicado o nome do vídeo (video_original) sobre o qual o procedimento será realizado (ele não sofrerá alterações).
  • -vcodec copy‘ e ‘-acodec copy‘ — indica que os codecs originais de vídeo e áudio serão copiados e mantidos sem alterações.
  • -ss 00:34:14 — indica para iniciar a copia às 00h:34m:14s.
  • -t 00:15:00 — indica a duração da cópia.
  • por fim, fica especificado o arquivo de saída trecho001.mp4.

Se quiser extrair outros trechos, basta repetir o procedimento, alterando os números referentes ao ínicio e à duração.
Depois, se quiser, pode juntar os trechos retirados do arquivo original em um novo arquivo. Veja como:


cat trecho001.mp4 trecho002.mp4 > novo_arquivo.mp4

O procedimento acima costuma funcionar para mim, mas não é muito confiável para ser realizado com todo tipo de arquivo.
Mas, neste caso, sugiro usar um editor GUI, por que ele permite fazer a junção com algum efeito, o que evitaria obter um resultado “cru” e mau acabado.

Qual a vantagem de fazer a edição de vídeo na CLI, se tem tantos ótimos editores gráficos?

Se você executou os procedimentos acima, talvez tenha percebido o quanto foram rápidos e, melhor ainda, quase não consumiram os recursos do seu hardware.
Ferramentas CLI, como o ffmpeg e o avconv (entre outras) são muito convenientes quando temos procedimentos simples para realizar — neste caso, fazer cortes “secos” no vídeo, sem qualquer transição.
Deixe as ferramentas GUI para realizar tarefas mais complexas ou que exijam que você seja mais minucioso.
Sugiro, ainda, guardar esta página no seu menu Favoritos (Ctrl + D). Quando precisar cortar vídeos de novo, basta voltar aqui, copiar, colar o comando e editar seus parâmetros e opções.


Não esqueça de dar uma olhada no tutorial como girar um vídeo com o ffmpeg.

Baixe vídeos do YouTube com o app YouTube Go

O YouTube Go é um aplicativo desenvolvido pelo Google.
O app permite assistir e baixar (não todos) os vídeos da plataforma.

Depois de baixado, um vídeo pode ser compartilhado nas redes sociais ou via Bluetooth.
O app foi pensado até mesmo nas pessoas que têm conexão lenta, pois permite escolher entre 3 opções de qualidade (baixa, média e alta) para fazer download.
Além disto, você pode escolher se quer armazenar seus vídeos no espaço interno do aparelho ou no externo (cartão SD).
youtube go screenshot

Se você pretende compartilhar o vídeo nas redes sociais ou apenas assistir na tela do smartphone, a opção de menor tamanho quase sempre será a ideal.
Leve em conta que a qualidade do áudio também sofre alguma redução, nestes casos.

youtube go screenshot

Baixar nossos vídeos abre várias possibilidades.
Se você está prestes a ir a uma consulta ou a qualquer outro lugar em que vai precisar ficar sentado(a) esperando, pode baixar antecipadamente seus vídeos — tutoriais, documentários, vlogueiros que você gosta etc.
Também pode fazer o contrário: se não tem uma conexão de banda larga em casa, pode baixar o conteúdo em outros locais com conexão mais rápida.

Para mim, que gosto muito de ver conteúdo sobre fotografia, astronomia, resenhas de filmes… o YouTube Go ajuda bastante a passar o tempo, quando tenho que ficar esperando em algum local.

É importante dizer que, no momento em que escrevo este post, o app ainda está em Beta e pode não estar disponível para download para todos os usuários.
Ele é estável e funciona muito bem. Contudo, se você não gosta de usar software, ainda neste estágio, convém aguardar um pouco.

Segue o link para download: https://goo.gl/kwHSQq.

Como girar um vídeo, usando o ffmpeg

O nicho de edição de vídeo, no Linux, está muito bem servido, obrigado.
Há, pelo menos, 10 grandes editores de vídeo GUI (Graphic User Interface), para usar no sistema operacional do pinguim. Cada qual é voltado para um público específico.
Ao contrário do que muita gente sabe, contudo, também é possível fazer edição de vídeo na CLI (ou linha de comando).

Se você tem apenas um pequeno ajuste a ser feito em um arquivo de vídeo, pode ser mais interessante executar um ou dois comandos no terminal — em vez de abrir um programa e ter que aguardar o seu carregamento antes de poder fazer qualquer coisa com ele.

O ffmpeg é um utilitário de edição de arquivos multimídia bastante conhecido.
É possível realizar inúmeras tarefas de edição de vídeo com ele.
Neste post, vou me concentrar em apenas uma destas tarefas: alterar a orientação do vídeo.
Esta é uma demanda razoavelmente comum para quem grava vídeos com o celular. Ao reproduzir o vídeo, você descobre que não ficou legal filmar o evento com o aparelho deitado (na horizontal).
Nos exemplos, que seguem, vou usar “origem.mp4” como nome do meu arquivo de entrada. O “destino.mp4” é o arquivo de saída, resultante da edição.
Substitua os nomes dos arquivos dos exemplos pelos seus.
Para alterar a orientação do vídeo verticalmente:

ffmpeg -i origem.mp4 -vf vflip -c:a copy destino.mp4

Para alternar horizontalmente:

ffmpeg -i origem.mp4 -vf hflip -c:a copy destino.mp4

Para girar 90 graus, no sentido horário

ffmpeg -i origem.mp4 -vf transpose=1 -c:a copy destino.mp4

Para girar 90 graus, no sentido anti-horário

ffmpeg -i origem.mp4 -vf transpose=2 -c:a copy destino.mp4

Como gravar o seu desktop Linux em um arquivo de vídeo gif

O peek é um projeto de código aberto, que depende do ffmpeg e do imagemagick para gravar a ação ocorrida no seu desktop ou em uma pequena parte dele (a escolha é sua!) em formato GIF.
Este arquivo final, em GIF, pode ser compartilhado facilmente com quem você quiser.
Infelizmente, os pacotes de instalação ainda não se encontram disponíveis nos repositórios oficiais das grandes distribuições — Ubuntu 16.04 LTS “Xenial Xerus’, Fedora 25 ou Debian 9 “Stretch”, por exemplo.

Como baixar e instalar o peek

Vocẽ pode encontrar o peek aqui.
A documentação informa que (teoricamente) vocẽ pode instalar e usar o peek no Debian… eu só testei no KDE Neon 5.8 (baseado no Ubuntu 16.04 LTS)!
O que eu fiz? Baixei o pacote .deb via wget:

wget https://github.com/phw/peek/releases/download/v0.8.0/peek-0.8.0-Linux.deb

Em seguida, instalei:

sudo dpkg --install peek-0.8.0-Linux.deb

Para executar, bastou chamar pelo nome:

peek


O aplicativo abre uma janela (ou um quadro) que pode ser redimensionado — arrastando suas bordas, como qualquer janela normal.
Tente encaixar as bordas do peek sobre uma janela do terminal, ou algum de seus aplicativos para gravar o que estiver ocorrendo.
Quando estiver pronto clique no botão “Record”.
A partir daí, toda a ação, dentro do enquadramento do peek, estará sendo gravada, até você clicar no botão “Stop”.
Os arquivos GIF animados são gravados dentro do diretório ~/Vídeos, como padrão. Contudo, é possível escolher qualquer outro local.

Referências

https://github.com/phw/peek/releases.

Como instalar uma interface gráfica para o youtube-dl

Aparentemente, tudo é mais fácil na interface gráfica.
O aplicativo youtube-dl tem mais de uma interface de usuário gráfica (ou Graphical User Interface – GUI) — se fizer uma busca na Internet, vai encontrar várias opções de aplicativos e métodos de instalação.
Não me importo de usar o console para fazer qualquer trabalho — até prefiro!
Mas a gente sempre tem uma namorada ou namorado, um amigo, um colega de trabalho etc. que se sentiria mais confortável fazendo suas coisas com cliques e toques na tela.
O objetivo deste artigo é te ajudar a ajudar estas pessoas.
Internet TVs
Entre as várias GUI existentes para youtube-dl, a minha escolha recaiu sobre a youtube-dl-gui.
Os métodos de instalação foram os que funcionaram para mim, em uma máquina Ubuntu 14.04 LTS “Trusty Tahr” e no Debian 8.2 “Jessie”.
Os links de onde tirei as informações estão relacionados ao final do post. Se ainda restar dúvidas, consulte-os.

O que é o youtube-dlG?

O Youtube-dlG ou youtube-dl-gui é uma interface gráfica multiplataforma para a ferramenta de downloads de vídeos e audio, youtube-dl.
Através desta GUI, é possível listar vários vídeos para baixar de uma só vez.
Além disto, o aplicativo permite selecionar os formatos de download ou de conversão, a qualidade do vídeo e do áudio entre outras opções.
O Youtube-dlG não oferece acesso a todos os recursos do youtube-dl — que são muitos.
Ou seja, usuários que desejam fazer uso de recursos mais avançados de download, conversão e extração de componentes dos vídeos terão que ir para a linha de comando.
Interface gráfica para download de vídeos no YouTube

Apesar do nome, você pode fazer download de vídeos de vários outros sites — e não somente do YouTube.

Veja uma relação dos recursos cobertos pelo Youtube-dlG:

  • Baixar vídeos de todos os sites suportados pelo youtube-dl.
  • Suporte a download simultâneo de múltiplos vídeos.
  • Conversão automática de vídeo para áudio — com a possibilidade de optar por formato e qualidade.
  • Suporte a vídeos DASH do YouTube — ele baixa automaticamente ambos, audio e video, e os mescla.
  • Opcionalmente, permite a remoção do áudio ou do vídeo e a seleção do formato de gravação deste último.
  • Tem suporte a opções de download de playlist e ainda permite escolher o idioma das legendas (maravilha para quem deseja baixar playlists de músicas com as letras no idioma original ou traduzida).
  • Oferece a possibilidade de de gravar uma descrição no arquivo de vídeo, gravar os thumbnails, limitar a velocidade de download, do tamanho do arquivo etc.
  • Suporte a configurar o user agent, referrer, autenticação para baixar vídeos, configurar proxy etc.
  • Baixa automaticamente o youtube-dl (se você já não o tiver instalado ainda) e o mantém atualizado
    Eu não experimentei esta opção, uma vez que já tinha o youtube-dl instalado previamente. Além disto, a atualização dele corre por conta do próprio sistema operacional (no meu caso).
  • Suporta que o usuário especifique argumentos e opções da linha de comando dentro da interface gráfica — que serão repassados ou youtube-dl.

Captura de tela do Youtube-dlG

Como instalar o youtube-dl-gui no Ubuntu

Usuários do Ubuntu, podem encontrar os pacotes do youtube-dl e do Youtube-dlG nos repositórios (não oficiais) do WebUpd8 PPA.
Você pode usar as instruções abaixo para instalar o programa no Ubuntu, no Linux Mint e em outras distribuições baseadas no próprio Ubuntu.
Comece por adicionar os repositórios e atualizá-los no seu sistema:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update

Agora proceda com a instalação:

sudo apt-get install youtube-dlg

Uma vez instalado, você encontrará o youtube-dlg através do Dash do Unity, ou nos menus de aplicativos, nas outras distribuições.

Como instalar no Debian

No Debian, eu usei um outro processo, que envolve baixar o código fonte em Python e instalar em um processo semelhante ao de compilar.
Não se assuste, por que não é complicado.
Ao escrever este post, instalei a versão 0.3.8 do aplicativo. Verifique se há uma versão mais atualizada para baixar, antes de prosseguir, no site do WebUpd8:
Depois de baixar, descompacte o arquivo e entre no novo diretório criado:

tar xvzf youtube-dlg_0.3.8.orig.tar.gz 
cd youtube-dl-gui-0.3.8/

Em seguida, instale algumas bibliotecas Python, necessárias para rodar o aplicativo:

sudo aptitude install python-wxgtk3.0-dev

Agora, vamos à instalação:

sudo python setup.py install

… e voilá!
O aplicativo já está pronto para ser executado do terminal: youtube-dl-gui.
Divirta-se!

Referências

Artigo no WebUpd8: http://www.webupd8.org/2014/03/multi-platform-youtube-dl-gui-youtube.html.
Download do app (código fonte ou pacotes de instalação): http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu/pool/main/y/youtube-dlg/.
Página oficial do aplicativo: http://mrs0m30n3.github.io/youtube-dl-gui/.