Como fazer GIF animado com Python

GIF animado exemplo por

Recentemente, estou aprendendo Python e não achei muitos artigos em português ainda em Medium para esse assunto. Por isso, achei que será bom escrever um para explicar como usar Python para GIF animado simples.

(Isso vai ser meu primeiro artigo em português. Caso tenha problema em gramática etc. Quero que me ajuda para corrigir)

Esse artigo é bem influenciado por e site oficial de .

(Se você só quer códigos que funciona e já sabe Python bem, pode visitar para esse artigo agora.

Pode usar Git direito se você já tem git instalado com

$git clone

Depois disso, você só precisará mudar uns documentos e textos por seu próprio uso.)

Como título diz, a gente vai aprender como fazer GIF com Python.

Para isso, é melhor você já tem ambiente para usar Python no seu computador.

Nesse artigo, eu usei Python 3.7 com Virtualenv.

Como aqui tá usando bastante packages de Python e não precisa escrever seu código muito, Você pode usar a versão melhor para você e modificar umas partes para seu trabalho.

Caso nunca usou Python antes. Eu preparei umas listas para você antes de começar.

Você devia ler bastante antes de começar isso se não conhecia Python mas isso é normal. Daqui a diante, vou pensar que já conseguiu preparar ambiente para desenvolvimento.

Vamos começar com como preparar vídeo para fazer GIF animado primeiro.

(O que eu digo daqui a diante, podem ser feitos com software como Photoshop ou uns para edição de vídeos. Mas usar código em vez de software ajuda você salvar poder de computação bastante, e caso você já tem códigos que funcionam. Pode economizar bastante tempo ao mesmo tempo.)

Talvez, você já tinha uns vídeos em mente que queira mudar em GIF animados. Tipo vídeo de gols sensacionais em jogos de futebol, animais engraçados ou cenas específicos de notícias.

Pode usar seu próprio vídeo caso você já tinha alguns vídeos para isso no seu celular. Se não, acho é melhor usar alguns vídeos de YouTube para praticar.

Para isso, pode usar alguns software gráficos para baixar vídeos.

Caso você prefere, aind pode usar CLI como.

Há vários jeitos e artigos sobre como baixar vídeo de YouTube ou

Vídeo grátis para praticar Moviepy por

Você ainda pode usar vídeo em cima para esse processo. Baixei num site de vídeo grátis e subi no YouTube para compartilhar facilmente.

Acho que será mais fácil usar isso caso você queria usar o mesmo exemplo para esse artigo.

Caso você decidiu usar youtube-dl para baixar esse vídeo, pode usar códigos que deixei em baixo apenas mudando identidade de vídeo.

# (Em inglês, digita e teste no seu computador par aprender)Essa explicação é para vídeo em cima com id 7J-XaPwyafU1. Só para baixar vídeo sem pensar tipo de vídeo$youtube-dl 7J-XaPwyafU2. Verificar qual tipo de video que voce quer e baxiar-o1) $youtube-dl -F 7J-XaPwyafU
(mostra lista de vídeos)
2) $youtube-dl -f <número de vídeo entre lista que você quer baixar> 7J-XaPwyafU* Não precisa baxiar vídeo com audio para gif animado3. Caso você só precisa áudio$youtube-dl -f 'bestaudiext=m4a]' '

Não precisamos vídeos de melhor qualidade com tamanho bem grande, quero que achou o melhor para seu uso.

Seu vídeo para esse projeto deve ser pronto nesse momento, a gente começa a aprender como mudar isso para Gif animado com exemplos de código em baixo.

Python código para fazer GIF animado em cima por (sr foi ser)
Comentários para explicar o que aconteça em código em cima

Separei documentos em código e o resto para ajudar você ler melhor. Podia achar comentários para cada linhas anotadas com números.

Caso você ainda precisa código que pode copiar e pastar, usa o em baixo.

# nome de documento pode ser seu_gif_animado.py
from moviepy.editor import *
import moviepy.video.fx.all as vfx
video = VideoFileClip("seu_video_para_gif.mp4").subclip(1, 3)
video = video.resize(0.4)
w, h = video.size # 2.
txt_steadylearner = TextClip("www.steadylearner.com", fontsize=16, color='white') # 3.txt_steadylearner = txt_steadylearner.set_position((12, h - 20)).set_duration(video.duration - 0.1)sua_marca =(ImageClip("sua_marca.png")
.set_duration(video.duration)
.resize(height=50).margin(right=2, bottom=1, opacity=0)
.set_position(("right","bottom")))
video = CompositeVideoClip([video, sua_marca, txt_steadylearner.crossfadein(1)])short_video = video.speedx(final_duration=2)
reverse_video = short_video.fx(vfx.time_mirror)
final = concatenate_videoclips([short_video, reverse_video])final.to_gif("seu_gif_animado.gif", fps=10)

Para esse processo funcionar, Você devia installar pacotagem de Python como Moviepy com $pip install moviepy e outros para isso funcionar direito.

Depois escreve ou copia códigos em cima no documento com nomde como seu_gif_animado.py e digita $python seu_gif_animado.py com imagens e textos de exemplo.

(Pode usar seu próprio números e nomes mas tem que investir tempo para achar o que é melhor para seu GIF animado)

Depois disso, vai ver processo como imagem em baixo

Captura de tela de Moviepy processo por

e o resultado será igual como imagem em título.

Já deixei imagem de comentários para ajudar você entender melhor o que aconteça.

Mas queria dar umas dicas mais para você.

  1. Você tem que assistir seu vídeo bem primeiro e tem que decidir quais partes de vídeo você queria incluir e depois você corta só essas partes com .subclip(começo, fim)
  2. Depende do seu texto, imagem de marca e vídeo que você usa, tem que modificar números no exemplo e achar o melhor com experimento
  3. Ler bastante documento . Podia perguntar outros mas quem sabe melhor sobre o assunto sempre será áuthor de projeto.

[Conclusão]

Photo by on

Desejo que esse artigo ajudou você fazer o que queria. Acredito que pode fazer seu próprio GIF animado com sua imagem(marca, fotos etc) e suas mensagens(textos, títulos etc) depois de seguir bem esse artigo.

Qualquer coisa me mande mensagem em ou e vou responder e ajudar vocês.

(Isso foi meu primeiro artigo em português aqui. pode me avisar se tiver erro em artigo por favor)

Agradeço e compartilhe esse artigo com outros por favor

p.s

  1. Gostou do meu artigo e estilo de código? Trabalha comigo. Por favor, manda mensagens . (Estou mexendo com JavaScript, Rust e Python e tenho um package NPM para React se chama )
  2. Estou desenvolvendo com React Frontend, Rust Backend e SQL banco de dados e Python para automação e mexer imagens, vídeos etc. Não está perfeito e estou preparando imagens, vídeos e postagens para isso. Visite se quiser como é, penso escrever artigos para isso também.

--

--

--

Visit www.steadylearner.com/blog for more contents. Contact me with https://www.linkedin.com/in/steady-learner-3151b7164 for job offers.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Steadylearner

Steadylearner

Visit for more contents. Contact me with for job offers.

More from Medium

Caution! Pandas can be dangerous too

How to explain almost any machine learning model using OFAT (One Factor A Time)

What does Strings in Python really does?

Python macros in Alteryx, how to get rid of the valid metadata error