404 Not Found


nginx
{"id":11967,"date":"2016-08-24T15:27:59","date_gmt":"2016-08-24T18:27:59","guid":{"rendered":"https:\/\/cleuber.com.br\/?p=11967"},"modified":"2016-09-06T16:04:43","modified_gmt":"2016-09-06T19:04:43","slug":"como-converter-um-video-em-gif-animado","status":"publish","type":"post","link":"https:\/\/cleuber.com.br\/index.php\/2016\/08\/24\/como-converter-um-video-em-gif-animado","title":{"rendered":"Como Converter Um V\u00eddeo em GIF Animado"},"content":{"rendered":"

Ol\u00e1 pessoal, hoje algumas dicas para fazer essa fa\u00e7anha. Vou passar como ter sucesso com isso usando 3 m\u00e9todos.<\/p>\n

M\u00e9todo 1<\/h2>\n

Usando o mplayer atrav\u00e9s de comandos.<\/h3>\n

1 – Instale alguns programas, caso n\u00e3o os tenha<\/h4>\n

Voc\u00ea precisa ter o mplayer, oimagemagick e o recordmydesktop instalados, ent\u00e3o: No Ubuntu e derivados:<\/p>\n

sudo apt-get install imagemagick mplayer gtk-recordmydesktop<\/pre>\n

No opensuse<\/p>\n

sudo zypper install ImageMagick mplayer gtk-recordMyDesktop<\/pre>\n

Obs.<\/strong> O recordmydesktop serve apenas para gravar um v\u00eddeo de seu desktop ou uma \u00e1rea dele, mas voc\u00ea pode usar qualquer outro programa de grava\u00e7\u00e3o que desejar.<\/p>\n

Saiba mais:
\n\"gravar\"<\/p>\n

2 – Grave um v\u00eddeo<\/h4>\n

Grave um v\u00eddeo curto, de prefer\u00eancia de uma janela apenas e n\u00e3o da tela toda (para n\u00e3o ficar muito grande). E salve ou mova este v\u00eddeo gravado em uma pasta que desejar. No meu caso, salvei meu v\u00eddeo “teste.mp4” em \/home\/cleuber\/V\u00eddeos.<\/p>\n

3 – Converta o v\u00eddeo em Imagens Jpeg<\/h4>\n

Bom agora que j\u00e1 gravamos um v\u00eddeo de nosso desktop, vamos gerar imagens jpeg desse v\u00eddeo. Primeiramente vou criar dentro da pasta V\u00eddeos, uma pasta chamada “imagens”<\/p>\n

mkdir\u00a0\/home\/cleuber\/V\u00eddeos\/imagens<\/pre>\n

Agora vou entrar na pasta V\u00eddeos\u00a0e converter o v\u00eddeo em diversas imagens jpeg colocando-as\u00a0dentro da pasta “imagens”.<\/p>\n

cd \/home\/cleuber\/V\u00eddeos<\/pre>\n
mplayer -ao null teste.mp4 -vo jpeg:outdir=\/home\/cleuber\/V\u00eddeos\/imagens<\/pre>\n

4 – Convertendo em GIF<\/h4>\n

Agora vamos converter esse monte de imagens jpeg em uma imagem gif.<\/p>\n

convert -limit memory 1 -limit map 1 \/home\/cleuber\/V\u00eddeos\/imagens\/* saida.gif<\/pre>\n

Obs. Na pasta que voc\u00ea estiver (no meu caso em home\/cleuber\/V\u00eddeos), ele criar\u00e1 um arquivo chamado “saida.gif”. O arquivo ficar\u00e1 um tanto grande demais, (no meu teste 27,2 MB), mas vamos diminuir o tamanho.<\/p>\n

\"teste\"<\/p>\n

5 – Otimize o tamanho desse GIF para ficar\u00a0menor:<\/h4>\n
convert -limit memory 1 -limit map 1 saida.gif -fuzz 10% -layers Optimize saida-otimizada.gif<\/pre>\n

Obs. Agora ele vai criar um novo arquivo bem menor chamado “saida-otimizada.gif” A diferen\u00e7a do meu teste \u00e9 gritante – de 27,2 MB foi para 823,0 KB.<\/p>\n

\"teste2\"<\/p>\n

Pronto, sua imagem est\u00e1 pronta. Confira abaixo o resultado do arquivo.<\/p>\n

\"saida-otimizada\"<\/p>\n

Esse m\u00e9todo, para mim, foi o melhor no sentido que o GIF ficou de um tamanho pequeno e com qualidade boa.<\/p>\n

M\u00e9todo 2<\/h2>\n

Usando o FFMpeg e Criando um script para converter em GIF<\/h3>\n

1 –\u00a0Crie um arquivo de texto usando o Gedit,<\/h4>\n

Aqui usarei o nome “mp42gif” com o comando abaixo e cole o conte\u00fado a seguir.<\/p>\n

sudo gedit \/usr\/local\/bin\/mp42gif<\/strong><\/pre>\n

Cole o conte\u00fado abaixo:<\/p>\n

#!\/bin\/bash<\/span>\r\nclear\r\nVIDEO_MP4<\/span>=<\/span>$1\r\necho <\/span>\"Qual tamanho do gif?\"<\/span>\r\necho <\/span>\"\"<\/span>\r\necho <\/span>\"1 - Pequeno\"<\/span>\r\necho <\/span>\"2 - M\u00e9dio\"<\/span>\r\necho <\/span>\"3 - Grande\"<\/span>\r\nread TAMANHO\r\n<\/span>case<\/span> $TAMANHO <\/span>in<\/span>\r\n1<\/span>)<\/span> TAMANHO<\/span>=<\/span>400<\/span> &&<\/span> EXT<\/span>=<\/span>pequeno <\/span>;;<\/span>\r\n2<\/span>)<\/span> TAMANHO<\/span>=<\/span>800<\/span> &&<\/span> EXT<\/span>=<\/span>mediano <\/span>;;<\/span>\r\n3<\/span>)<\/span> TAMANHO<\/span>=<\/span>1024<\/span> &&<\/span> EXT<\/span>=<\/span>grande <\/span>;;<\/span>\r\n*)<\/span> echo <\/span>\"Op\u00e7\u00e3o desconhecida. Saindo...\"<\/span> &&<\/span> exit<\/span> ;;<\/span>\r\nesac<\/span>\r\nclear\r\necho <\/span>\"Gravar por quantos segundos? (Ex.: 15)\"<\/span>\r\nread TEMPO\r\nclear\r\necho <\/span>\"Gravando por $TEMPO segundos em tamanho $EXT...\"<\/span>\r\nsleep <\/span>2<\/span>\r\n\r\nffmpeg <\/span>-<\/span>ss <\/span>00<\/span>:<\/span>00<\/span>:<\/span>00<\/span> -<\/span>i $VIDEO_MP4 <\/span>-<\/span>to $TEMPO <\/span>-<\/span>r <\/span>30<\/span> -<\/span>vf scale<\/span>=<\/span>$TAMANHO<\/span>:-<\/span>1<\/span> $<\/span>(<\/span>echo $1 <\/span>|<\/span> cut <\/span>-<\/span>f <\/span>1<\/span> -<\/span>d <\/span>'.'<\/span>)<\/span>_$EXT<\/span>.<\/span>gif\r\necho <\/span>\"Fim do script!\"<\/span><\/pre>\n

Obs.: altere o script para as suas necessidades, se quiser. Ap\u00f3s isso, salve e feche o editor de texto.<\/p>\n

2 – Mude as\u00a0permiss\u00f5es do arquivo:<\/h4>\n
sudo chmod 755 \/usr\/local\/bin\/mp42gif<\/strong><\/pre>\n

3 – Pronto, agora pode testar<\/h4>\n

Agora sempre que quiser criar um GIF a partir de um v\u00eddeo MP4 basta usar o comando:<\/p>\n

mp42gif nomedovideo.mp4<\/pre>\n

Criando o GIF<\/h3>\n

1 –<\/strong> Com o aplicativo Kazam, gravei um v\u00eddeo do meu desktop e salvei-o\u00a0com o nome\u00a0gravar.mp4 na pasta v\u00eddeos 2 –<\/strong> Depois entrei na pasta V\u00eddeos:<\/p>\n

cd V\u00eddeos<\/pre>\n

3 –<\/strong> E rodei o comando de convers\u00e3o:<\/p>\n

mp42gif gravar.mp4<\/pre>\n

Aparecer\u00e1 no terminal duas perguntas: 1 – Tamanho:<\/strong> pequeno, m\u00e9dio ou grande, 2 – Quantos segundos ele ir\u00e1 gravar<\/strong>. (Da\u00ed veja o tamanho do seu v\u00eddeo e qual a dura\u00e7\u00e3o dele ou at\u00e9 onde voc\u00ea deseja que ele seja convertido em gif), digite a quantidade de segundos e aperte Enter. Quando ele terminar, voc\u00ea ter\u00e1 como resultado o arquivo GIF na mesma pasta com o formato: nome do arquivo + tamanho + .gif. Veja o\u00a0exemplo que acabei de fazer e que explica no pr\u00f3prio GIF que gerei este processo que acabei de citar:<\/p>\n

\"convert-gif2_mediano\"<\/p>\n

Observa\u00e7\u00f5es<\/h2>\n

Esta \u00e9 uma maneira bem simples de ter a m\u00e3o sempre que precisar uma ferramenta de convers\u00e3o para GIF muito simples e funcional. Mas vale lembrar que v\u00eddeos muito grandes e longos geram gifs muito pesados. A ideia \u00e9 usar esse tipo de convers\u00e3o para gifs para ilustra\u00e7\u00f5es bem curtas como o exemplo acima. E n\u00e3o esque\u00e7a de fazer as modifica\u00e7\u00f5es necess\u00e1rias nos scripts ao seu gosto. Por exemplo, onde eu determino o tamanho dos GIFs, coloquei os tamanhos 400, 800 e 1024 (para largura). Talvez voc\u00ea queira outros valores maiores ou menores. O framerate dos GIFs est\u00e1 em 30 (que significa 30 quadros por segundo), mas talvez voc\u00ea queira algo menor e menos fluido como 15 por exemplo. (O que geraria gifs de tamanhos menores tamb\u00e9m).<\/p>\n

M\u00e9todo 3<\/h1>\n

Via Aplicativo 2GIF<\/h1>\n

\"2gif\"Ainda em tempo, eu encontrei um aplicativo que utiliza justamente as op\u00e7\u00f5es do ffmpeg que podemos definir para criar um Gif. Trata-se do app 2Gif<\/strong>, que faz exatamente isso. Ele foi desenvolvido pelo Lorenzo Carbobell Cerezo e o site espanhol e reposit\u00f3rio Atareao<\/a><\/span><\/span>, que \u00e9 famoso por outros apps e projetos para Linux como o My-weather-indicator entre outros (confira a lista completa aqui<\/span><\/a>). Se voc\u00ea ainda n\u00e3o possui o reposit\u00f3rio dele instalado, vale a pena e instalar esse app. Voc\u00ea pode instal\u00e1-lo no Ubuntu e derivados com o comando:<\/p>\n

 <\/p>\n

sudo add-apt-repository ppa:atareao\/atareao\r\nsudo apt-get update\r\nsudo apt-get install 2gif<\/pre>\n

Agora que ele est\u00e1 instalado, basta abr\u00ed-lo utilizando o seu menu, ou Dash.<\/p>\n

\"2gif-open\"<\/p>\n

Agora \u00e9 s\u00f3 arrastar o arquivo para o espa\u00e7o esquerdo ou clicar no \u00edcone de seta para cima para escolh\u00ea-lo. Depois definir no primeiro campo logo abaixo do arquivo, em que segundo o v\u00eddeo ser\u00e1 capturado Depois definir no segundo campo logo abaixo do arquivo do lado direito, em que segundo ele parar\u00e1 de capturar. (isso ele costuma preencher sozinho quase sempre).<\/p>\n

\"2gif1\"<\/p>\n

Defina tamb\u00e9m o nome do arquivo de sa\u00edda e local de sa\u00edda dele e clique em “Executar”.<\/p>\n

\"2gif2\"<\/p>\n

Se preferir, antes de converter, voc\u00ea poder\u00e1 tamb\u00e9m alterar algumas\u00a0op\u00e7\u00f5es, tais como, taxa de quadros, e\u00a0dimens\u00f5es do arquivo GIF. Basta clicar no \u00edcone das configura\u00e7\u00f5es.<\/p>\n

\"2gif3\"<\/p>\n

E ent\u00e3o uma janela como esta aparecer\u00e1. Basta clicar no bot\u00e3o vermelho (de grava\u00e7\u00e3o) e ent\u00e3o aguardar alguns segundos para ele fechar, (ou se n\u00e3o acontecer, voc\u00ea poder\u00e1 fech\u00e1-lo) e visualizar o seu GIF no local onde definiu sua sa\u00edda.<\/p>\n

\"2gif-conv2\"<\/p>\n

BUGS<\/h3>\n

Encontrei alguns travamentos nesse app e algumas configura\u00e7\u00f5es especialmente de tamanho n\u00e3o funcionaram fazendo o app travar.<\/p>\n

RESULTADO:<\/h4>\n

Neste teste da imagem que voc\u00ea viu acima, o arquivo GIF ficou muito grande para coloc\u00e1-lo aqui no post (cerca de 30MB), ent\u00e3o depois de pronto eu reduzi ele no Gimp para 2MB. Ficou assim (a vers\u00e3o reduzida):<\/p>\n

\"output7\"<\/p>\n

E fiz outro GIF de outro v\u00eddeo, e segue abaixo a imagem.<\/p>\n

\"output1\"<\/p>\n

Conclus\u00e3o<\/h1>\n

Est\u00e1 a\u00ed nos tr\u00eas\u00a0m\u00e9todos uma maneira de converter em GIF, e a primeira via comandos do mplayer foi\u00a0a melhor op\u00e7\u00e3o para mim. A segunda via script do ffmpeg tamb\u00e9m foi legal.<\/p>\n

At\u00e9 a pr\u00f3xima.<\/p>\n

Cleuber<\/p>\n","protected":false},"excerpt":{"rendered":"

Ol\u00e1 pessoal, hoje algumas dicas para fazer essa fa\u00e7anha. Vou passar como ter sucesso com isso usando 3 m\u00e9todos. M\u00e9todo 1 Usando o mplayer atrav\u00e9s de comandos. 1 – Instale alguns programas, caso n\u00e3o os tenha Voc\u00ea precisa ter o mplayer, oimagemagick e o recordmydesktop instalados, ent\u00e3o: No Ubuntu e derivados: sudo apt-get install imagemagick …<\/p>\n","protected":false},"author":1,"featured_media":12050,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[51,4],"tags":[651],"class_list":["post-11967","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dicas-e-tutoriais","category-tutoriais-linux","tag-gif-no-linux"],"_links":{"self":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts\/11967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=11967"}],"version-history":[{"count":0,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts\/11967\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/media\/12050"}],"wp:attachment":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=11967"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=11967"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=11967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}