Se você ainda não conhece, ffmpeg é um software que faz conversão e edição de vídeo e áudio usando filtros. É aquele que suporta o maior número de codecs diferentes. Se você já usou o VLC, sabe um pouco sobre o ffmpeg: o VLC usa o ffmpeg para decodificar o máximo de vídeos possível.
Mas antes de fazer vídeos, preciso te falar alguns conceitos para que você não se perca no caminho.
Conceitos de vídeo: como as imagens podem funcionar em um vídeo
Não é muito difícil integrar imagens em um vídeo. E há um motivo: os vídeos são baseados em uma série de imagens. Deixe-me explicar.
Um vídeo (mesmo um vídeo do YouTube) é um conjunto de imagens estáticas que muda rapidamente. Em cinemas e salas de cinema, entre cada imagem há uma imagem preta porque o mecanismo teve que mudar de quadro e era muito lento. Mas não é perceptível ao olho humano porque o mecanismo é rápido o suficiente e por causa de uma ilusão de ótica.
Mas os computadores não têm esse problema. As telas de LCD continuam exibindo a última imagem. De qualquer forma, você pode extrair uma imagem independente de cada imagem de um vídeo. Quando uma imagem vem de um vídeo, é chamada de quadro, Armação. Isso é exatamente o que você vê quando pausa um vídeo - e quando você faz isso, os rostos geralmente não parecem bem!
Geralmente, os vídeos dos Estados Unidos contêm 30 quadros por segundo - perceber um pouco. São 1.800 quadros por minuto, 54.000 quadros por meia hora de vídeo ou 108.000 frames por hora. Isso é muito e é assim que você às vezes se pergunta como uma única imagem pode pesar 1 MiB, mas um minuto de vídeo 1080p pode pesar apenas 15 MiB.
O número de fotos por segundo é chamado de taxa de quadros. A 30 quadros por segundo, você muda a imagem a cada 33 milissegundos. Então, concretamente, se você quisesse fazer um minuto de vídeo baseado exclusivamente em suas imagens, você precisaria ter 1.800 arquivos JPG ou PNG por minuto.
Isso é útil se você quiser fazer edição de vídeo avançada sem usar ferramentas de vídeo: você só precisa criar imagens para cada quadro com seus efeitos e, em seguida, pode agrupá-los em um vídeo. Mas às vezes você quer que uma imagem estática dure porque, bem, você quer uma imagem estática em vídeo.
Ok, agora é hora de instalar o ffmpeg.
Instale o ffmpeg no Linux
Dependendo da sua distribuição, a instalação do ffmpeg pode ser fácil ou um pouco complicado. É um software livre com código-fonte disponível publicamente, mas como pode decodificar ou codificar formatos patenteados como MP4, algumas distribuições o excluem de seus repositórios. Por exemplo, no Red Hat Enterprise Linux, CentOS e Fedora, você precisa do RPMFusion por causa das patentes. Além disso, todas as versões do Debian e Ubuntu antes de 16.04 está distribuindo uma versão falsa do ffmpeg com base em um fork ilegítimo.
Mas antes de apressar a instalação, talvez a versão certa já esteja instalada? Vamos testar:
$ ffmpeg -versionffmpeg versão X.XXXXXXXX Copyright (c) 2000-2018 os desenvolvedores FFmpeg
Se após o copyright você vir “the FFmpeg developers”, você tem a versão original do FFMpeg, você não precisa fazer nada. No entanto, se você vir:
$ ffmpeg -versionffmpeg versão X.XXXXXXXX Copyright (c) 2000-2018 os desenvolvedores Libav
Então significa que você está usando um garfo de ffmpeg chamado Libav. Debian e versões anteriores do Ubuntu silenciosamente substituir FFMpeg por Libav. Se ele disser que está obsoleto, ignore-o, isso é enganoso. Se você instalou o fork, é hora de remover sua versão do false ffmpeg e seguir o guia abaixo para instalar a versão correta. Provavelmente assim:
$ sudo apt-get remove ffmpegEntão, agora você pode não ter instalado ainda ou você tem a versão errada, é hora de instalá-lo!
No Fedora, Red Hat Enterprise Linux (RHEL) e CentOS, vá para https: // rpmfusion.org / Configuração e habilite o repositório RPMFusion grátis no seu computador. Então, se você estiver no Fedora, faça:
$ sudo dnf install ffmpegE para CentOS e Red Hat Enterprise Linux, faça:
$ sudo yum install ffmpegIsso é tudo para sistemas baseados em Fedora e Red Hat, está instalado.
Em todas as versões do Debian (e todos os derivados) e Ubuntu antes dos 16.04, você precisa obter a compilação estática do FFMpeg no site oficial. Vá para https: // ffmpeg.org / download.html # build-linux e abaixo “Versões estáticas do Linux", Clique em "32 bits e 64 bits para kernel 2.6.32 e acima”. Então, abaixo de “lançamento: X.X.X”, Baixe o arquivo apropriado, extraia-o e você pode lançar os executáveis localizados na pasta extraída via CLI.
Para aqueles que usam o Ubuntu 16.04 e acima, é mais fácil, basta fazer:
$ sudo apt-get install ffmpegUfa! Finalmente devemos estar prontos para ir! Antes de continuar, teste uma última vez com:
$ ffmpeg -versionffmpeg versão X.XXXXXXXX Copyright (c) 2000-2018 os desenvolvedores FFmpeg
Crie vídeos de muitas imagens
Então, para o nosso primeiro exemplo, vamos criar um vídeo de Imagens onde cada imagem representa um quadro que será exibido por 33 milissegundos. Deixe-me mostrar primeiro o comando.
** MP4 e H.264 são codecs patenteados, verifique se você tem o direito de codificar com eles. **
$ ffmpeg -r: v 30 -i "Pinguins -% 05d.png "-codec: v libx264 -preset veryslow-pix_fmt yuv420p -crf 28 -an "Pinguins.mp4 "
OK, então como isso funciona? Para que este comando funcione, você precisa ter muitos quadros onde cada quadro é um arquivo como Penguins - 00043.png. Este comando irá então combinar todos os quadros em ordem a uma taxa de 30 FPS. Então, pinguins - 00043.png vem antes dos pinguins - 00044.png no vídeo e ffmpeg respeitará isso. Então, se você tiver 120 frames, seu vídeo terá uma duração de 4 segundos.
Existem poucos requisitos sobre formato, largura e altura para os quadros funcionarem. Se você não seguir essas regras, o ffmpeg pode ignorar algumas imagens ou cancelar o processo de criação de vídeo. Então:
- Todos os quadros em um mesmo vídeo devem compartilhar:
- Largura altura
- Profundidade de cor
- Os frames devem ter um tamanho de vídeo padrão, como:
- 640 ✕ 360 (360p)
- 853 ✕ 480 (480p)
- 1280 ✕ 720 (720p)
- 1920 ✕ 1080 (1080p)
- 4096 ✕ 2306 (4K)
- Prefira quadros em PNG em vez de JPG
- Evite transparência ou alfa no formato PNG
O comando levará algum tempo para converter o vídeo, otimizar seu desempenho e criar um arquivo MP4 chamado Penguins.mp4.
Agora, você pode querer ter, bem, uma imagem estática restante por mais de 33 milissegundos. Nesse caso, seu vídeo é mais uma apresentação de slides e não é o mesmo. Para fazer isso, você pode primeiro dar uma taxa de quadros mais lenta para a entrada e então dizer ao ffmpeg para duplicar os quadros na saída. Não, o YouTube e o Vimeo não vão apreciar um 0.Vídeo de 5 FPS mesmo se você mudar sua imagem a cada 2 segundos.
Vamos fazer isso:
$ ffmpeg -r: v 1/5 -i "Pinguins -% 05d.png "-r: v 30 -codec: v libx264 -preset veryslow-pix_fmt yuv420p -crf 28 -an "Pinguins.mp4 "
Aqui vamos nós! O ffmpeg fará com que cada uma de suas imagens apareça por 5 segundos, mas em um vídeo de 30 FPS. Não se preocupe com o aviso de frames duplicados: é o que você deseja.
Conclusão
Agora você está - o novo Spielberg - capaz de criar seus próprios vídeos. Você pode fazer uma apresentação de slides simples ou preparar um vídeo quadro a quadro usando um editor de imagens como o GIMP, mas também pode se beneficiar do grande conjunto de efeitos e codecs que pode encontrar no ffmpeg.
Reserve um tempo para experimentar por si mesmo - você é um artista, afinal - e criar um vídeo que fará milhões de visualizações no YouTube!