{"id":1655,"date":"2015-02-17T10:00:53","date_gmt":"2015-02-17T16:00:53","guid":{"rendered":"https:\/\/www.foell.org\/justin\/?p=1655"},"modified":"2019-10-21T11:51:32","modified_gmt":"2019-10-21T16:51:32","slug":"creating-an-animated-gif-using-vlc-gimp","status":"publish","type":"post","link":"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/","title":{"rendered":"Creating an animated gif using VLC &#038; Gimp"},"content":{"rendered":"<p>Here&#8217;s a write-up for how to create an animated gif from a video on Ubuntu 14.10. I know <a title=\"15.04 Release Schedule\" href=\"https:\/\/wiki.ubuntu.com\/VividVervet\/ReleaseSchedule\" target=\"_blank\" rel=\"noopener noreferrer\">15.04 is almost in beta<\/a>, but hopefully this process won&#8217;t change too much. Submit a comment if things change and I&#8217;ll revisit it and update.<\/p>\n<p>This is an easy way to create those <a title=\"Ole Miss Problems\" href=\"http:\/\/olemissproblems.tumblr.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">animated gifs you see on your favorite tumblr blogs<\/a>. Now that Netflix works in Linux, you can do it easily with your favorite shows.<\/p>\n<p><!--more--><\/p>\n<p>You&#8217;ll need the following installed:<\/p>\n<pre>google-chrome, vlc, gimp, gimp-gap (gimp animation package), avconv<\/pre>\n<h2>Capture<\/h2>\n<p>Open up chrome and load up your favorite show from Netflix. Let Netflix run in the window (not full-screen). No need to maximize your chrome window, it only needs to be bigger than your desired output resolution.<\/p>\n<p>Fire up VLC and choose Media \u2192 Convert \/ Save\u2026<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-menu.png\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1825\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/vlc-menu\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-menu.png\" data-orig-size=\"484,433\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"vlc-menu\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-menu.png\" class=\"alignnone size-full wp-image-1825\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-menu.png\" alt=\"vlc-menu\" width=\"484\" height=\"433\" srcset=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-menu.png 484w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-menu-300x268.png 300w\" sizes=\"auto, (max-width: 484px) 100vw, 484px\" \/><\/a><\/p>\n<p>Go to the Capture Device tab and select Desktop for the Capture mode.<\/p>\n<p>Also, set the frame rate you&#8217;d like to use. TV shows normally use 30 f\/s and movies 24 f\/s. For gif-ing purposes, 15 f\/s is usually good enough to convey the idea.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-capture.png\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1826\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/vlc-capture\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-capture.png\" data-orig-size=\"542,432\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"vlc-capture\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-capture.png\" class=\"alignnone size-full wp-image-1826\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-capture.png\" alt=\"vlc-capture\" width=\"542\" height=\"432\" srcset=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-capture.png 542w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-capture-300x239.png 300w\" sizes=\"auto, (max-width: 542px) 100vw, 542px\" \/><\/a><\/p>\n<p>Press Convert \/ Save and you&#8217;ll be taken to the next screen. Select Convert, and the profile for Video MP4 (H.264 + MP3) is fine. Then put in a destination for your output file.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-convert.png\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1827\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/vlc-convert\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-convert.png\" data-orig-size=\"552,464\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"vlc-convert\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-convert.png\" class=\"alignnone size-full wp-image-1827\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-convert.png\" alt=\"vlc-convert\" width=\"552\" height=\"464\" srcset=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-convert.png 552w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/vlc-convert-300x252.png 300w\" sizes=\"auto, (max-width: 552px) 100vw, 552px\" \/><\/a><\/p>\n<p>Queue up your show because when you press Start it&#8217;s going to start recording right then. When the clip you want to capture is over, press the stop button on the VLC player. You should have a MP4 of your entire desktop including your video.<\/p>\n<h2>Split into frames<\/h2>\n<p>My go-to program for splitting videos into frames would be <code>ffmpeg<\/code>, but it&#8217;s missing in action. There was apparently a\u00a0<a title=\"What is this #avconv crap? What happened to #ffmpeg?\" href=\"https:\/\/sechat.org\/posts\/395820\" target=\"_blank\" rel=\"noopener noreferrer\">rift in the ffmpeg development team<\/a>. Luckily, <code>avconv<\/code> is an almost syntactically identical replacement.<\/p>\n<p>From the command line convert your video into individual frames. Set the rate (-r) argument to the same frame rate as your capture to make things easy.<\/p>\n<pre>avconv -i vlc_capture.mp4 -r 15 image-%3d.png<\/pre>\n<p>At this point you can preview your images and delete any &#8220;extras&#8221; you may have at the beginning and the end of the sequence.<\/p>\n<h2>Edit in Gimp<\/h2>\n<p>Now open all of the frames in Gimp. Use File \u2192 Open as Layers\u2026<\/p>\n<p>This tutorial assumes images are brought in as layers with the first frame (lowest number) on top due to the relative ease of &#8220;merging down&#8221; layers. To do this, make sure the images are ordered in the chooser <em>in reverse order<\/em>. Before we export, we&#8217;ll reverse this process.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-order.png\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1828\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/gimp-order\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-order.png\" data-orig-size=\"852,686\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"gimp-order\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-order.png\" class=\"alignnone size-full wp-image-1828\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-order.png\" alt=\"gimp-order\" width=\"852\" height=\"686\" srcset=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-order.png 852w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-order-300x242.png 300w\" sizes=\"auto, (max-width: 852px) 100vw, 852px\" \/><\/a><\/p>\n<p>Once it&#8217;s in Gimp and the frames are in the right order, first on top for this tutorial, crop your image to cut out everything but the video. Then Image \u2192 Scale Image\u2026 to set the final output size, something reasonable like 500 pixels wide.<\/p>\n<h2>Add Captions (words)<\/h2>\n<p>Find the first frame you want to add text to, and set all the other frames above it invisible by clicking the eye icon in the layers window. Then on the first frame you want to add text to, use the text tool.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text.png\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1829\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/gimp-text\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text.png\" data-orig-size=\"1205,759\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"gimp-text\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-1024x645.png\" class=\"alignnone size-large wp-image-1829\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-1024x645.png\" alt=\"gimp-text\" width=\"770\" height=\"485\" srcset=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-1024x645.png 1024w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-300x189.png 300w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text.png 1205w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/a><\/p>\n<p>The Impact font seems to be popular for memes. I like to add a one pixel outline to make sure the white text stands out. To do this, create a transparent layer under your text layer. Select the text layer, right click and select Text to Path.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-to-path.png\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1831\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/gimp-text-to-path\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-to-path.png\" data-orig-size=\"928,683\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"gimp-text-to-path\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-to-path.png\" class=\"alignnone size-full wp-image-1831\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-to-path.png\" alt=\"gimp-text-to-path\" width=\"928\" height=\"683\" srcset=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-to-path.png 928w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-to-path-300x221.png 300w\" sizes=\"auto, (max-width: 928px) 100vw, 928px\" \/><\/a><\/p>\n<p>Select the new transparent layer, then choose Select \u2192 From Path.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-from-path.png\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1832\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/gimp-text-from-path\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-from-path.png\" data-orig-size=\"1182,556\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"gimp-text-from-path\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-from-path-1024x482.png\" class=\"alignnone size-large wp-image-1832\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-from-path-1024x482.png\" alt=\"gimp-text-from-path\" width=\"770\" height=\"362\" srcset=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-from-path-1024x482.png 1024w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-from-path-300x141.png 300w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-from-path.png 1182w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/a><\/p>\n<p>Now you&#8217;ve got the text selection on a different layer. Use Select \u2192 Grow\u2026 to grow the selection by one pixel. Then use the bucket tool to fill it with black. Merge the text and outline layer when you&#8217;re satisfied.<\/p>\n<p>When you like the look and placement of your text, it&#8217;s time to copy it onto all the frames. This can be tedious, so I recommend using keyboard shortcuts. Layer \u2192 Duplicate Layer is Shift+Ctrl+D. Duplicate your text and space it in between the next frame, repeat.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-layers.png\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1833\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/gimp-text-layers\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-layers.png\" data-orig-size=\"926,534\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"gimp-text-layers\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-layers.png\" class=\"alignnone size-full wp-image-1833\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-layers.png\" alt=\"gimp-text-layers\" width=\"926\" height=\"534\" srcset=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-layers.png 926w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-text-layers-300x173.png 300w\" sizes=\"auto, (max-width: 926px) 100vw, 926px\" \/><\/a><\/p>\n<p>Once all the frames that should have text have a text layer above them, it&#8217;s time to merge. There&#8217;s <a title=\"Creating Shortcuts to Menu Functions\" href=\"http:\/\/docs.gimp.org\/en\/gimp-concepts-shortcuts.html\" target=\"_blank\" rel=\"noopener noreferrer\">no default keyboard shortcut for Layer \u2192 Merge Down so I recommend creating one<\/a>, I used Shift+Ctrl+M. Merge each text layer down to the frame below, making sure everything is set to visible or merging will just throw away the invisible layer(s).<\/p>\n<p>Once all your frames have the appropriate text, it&#8217;s time to experiment&#8230;<\/p>\n<h2>Convert &amp; Export<\/h2>\n<p>Change the Image \u2192 Mode from RBG to Indexed\u2026 Select a low palette count like 127, or 63 for animations. This is where you can really help reduce the final image size in bytes. The lower you find acceptable, the smaller the image. If you can get the final size under 1MB and you&#8217;re doing good, under 500KB and you&#8217;re getting better, but you won&#8217;t know until the last step, so you may have &#8220;undo&#8221; your way back to the RGB image and re-adjust.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-index-palette.png\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1841\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/gimp-index-palette\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-index-palette.png\" data-orig-size=\"453,456\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"gimp-index-palette\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-index-palette.png\" class=\"alignnone size-full wp-image-1841\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-index-palette.png\" alt=\"gimp-index-palette\" width=\"453\" height=\"456\" srcset=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-index-palette.png 453w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-index-palette-150x150.png 150w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-index-palette-298x300.png 298w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/a><\/p>\n<p>If your image layers go from low to high, top to bottom (respectively), now is the time to do Layer \u2192 Stack \u2192 Reverse Layer Order otherwise your gif will run in reverse!<\/p>\n<p>The Gimp Animation Package will allow you to now choose Filters \u2192 Animation \u2192 Optimize (for GIF). This will remove everything except for the &#8220;moving parts&#8221; to make the export small(ish). It will save changes as a new image.<\/p>\n<p>Last Export As\u2026 and give the export file a .gif extension.<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-gif-export.png\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1835\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/gimp-gif-export\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-gif-export.png\" data-orig-size=\"515,383\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"gimp-gif-export\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-gif-export.png\" class=\"alignnone size-full wp-image-1835\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-gif-export.png\" alt=\"gimp-gif-export\" width=\"515\" height=\"383\" srcset=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-gif-export.png 515w, https:\/\/www.foell.org\/justin\/files\/2015\/02\/gimp-gif-export-300x223.png 300w\" sizes=\"auto, (max-width: 515px) 100vw, 515px\" \/><\/a><\/p>\n<p>Check:<\/p>\n<ul>\n<li>As animation<\/li>\n<li>Loop forever<\/li>\n<\/ul>\n<p>Set Delay between frames to <em>1000 \/ n<\/em>\u00a0where <em>n<\/em> = number of frames per second you selected when using avconv.<\/p>\n<p>Press Export. Enjoy!<\/p>\n<p><a class=\"thickbox\" href=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/bob_bike.gif\" rel=\"gallery-1655\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1836\" data-permalink=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/bob_bike\/\" data-orig-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/bob_bike.gif\" data-orig-size=\"500,282\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"bob_bike\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/bob_bike.gif\" class=\"alignnone size-full wp-image-1836\" src=\"https:\/\/www.foell.org\/justin\/files\/2015\/02\/bob_bike.gif\" alt=\"bob_bike\" width=\"500\" height=\"282\" \/><\/a><\/p>\n<div class='kindleWidget kindleLight' ><img decoding=\"async\" src=\"https:\/\/www.foell.org\/justin\/wp-content\/plugins\/send-to-kindle\/media\/white-15.png\" \/><span>Send to Kindle<\/span><\/div>","protected":false},"excerpt":{"rendered":"<p>Here&#8217;s a write-up for how to create an animated gif from a video on Ubuntu 14.10. I know 15.04 is almost in beta, but hopefully this process won&#8217;t change too much. Submit a comment if things change and I&#8217;ll revisit it and update. This is an easy way to create those animated gifs you see&hellip; <a href=\"https:\/\/www.foell.org\/justin\/creating-an-animated-gif-using-vlc-gimp\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"My favorite Bob's Burgers scene, as an animated gif https:\/\/www.foell.org\/justin\/?p=1655","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7,1,3,8],"tags":[166],"class_list":["post-1655","post","type-post","status-publish","format-standard","hentry","category-bikes","category-business","category-casual","category-ubuntu","tag-linux"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.foell.org\/justin\/wp-json\/wp\/v2\/posts\/1655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.foell.org\/justin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.foell.org\/justin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.foell.org\/justin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.foell.org\/justin\/wp-json\/wp\/v2\/comments?post=1655"}],"version-history":[{"count":19,"href":"https:\/\/www.foell.org\/justin\/wp-json\/wp\/v2\/posts\/1655\/revisions"}],"predecessor-version":[{"id":3581,"href":"https:\/\/www.foell.org\/justin\/wp-json\/wp\/v2\/posts\/1655\/revisions\/3581"}],"wp:attachment":[{"href":"https:\/\/www.foell.org\/justin\/wp-json\/wp\/v2\/media?parent=1655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.foell.org\/justin\/wp-json\/wp\/v2\/categories?post=1655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.foell.org\/justin\/wp-json\/wp\/v2\/tags?post=1655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}