43 comments

[ 3.3 ms ] story [ 94.9 ms ] thread
Please use silent HTML5 videos instead of animated GIFs wherever possible. They are much more bandwidth- and CPU-efficient. This site allows you to automatically upload/convert animated GIFs into that format: http://gfycat.com/

The links allow you to see the animated GIFs as well, if viewer's device doesn't support HTML5.

There's a drawback. Can we save these? Can we link directly to them?
Yes, if you right click (at least in Firefox) there is an option to download the WebM file. And you can get a direct link, although that doesn't really make sense, since if you're sending it to somebody, they probably want the option of watching the WebM version or the GIF version.
The same scripts will output videos for HTML5 if you replace the `to_gif` method by `to_videofile`:

    clip.to_videofile('animation.mp4')
    clip.to_videofile('animation.webm', codec='libvpx')
    clip.to_videofile('animation.ogv',codec='libtheora')
Can I make video/gif from multiple photos?
You can do that with ffmpeg or ImageMagick. Something like

    ffmpeg -i *.png output.gif
You have options like delay, loop, etc.
Yep, that's how I do my gif conversions because it allows for much finer control, and often returns better results. I built an entire app around abstracting this technique: http://gifmachine.xwl.me/
Yes, I guess I could figure out such options but let me explain what problem I have. I take multiple photos (e.g. my camera can take 10 photos per second) and want to make video from that. Gif is poor option as photos are taken with hand and are shaky a little bit. Gif will get big in size because of that alone. Video (e.g. webm) is very good alternative for that. Your project (?) offers option to add text (and other nice little details) and that makes it killer alternative.
The problem, for me, is that HTML5 video is a technical solution with no social advantage. There are so many places on the web where images are allowed that videos will never be allowed -- for good reason. Forums, comment threads, etc.

What we need is an image container format that allows for a silent (and only silent) video stream to be embedded. A better GIF. Something that site maintainers would feel entirely comfortable in allowing.

A new format would be overkill. Websites can just set the "muted" attribute on video elements. If you also set "loop" & "autoplay" and hide the controls, you've got a video that acts just like a GIF.
One problem is iOS devices won't play any videos with hidden controls.
Why don't the powers that be make a new image animated image format that is bandwidth conservative? I don't get why Google/Apple/Microsoft/Adobe haven't jumped on this. Or maybe I do, they don't use animated GIFs. Fuck. If only Reddit/imgur/Internet forums had any lobbying power.
This! (Although if the sound thing is such a problem then perhaps the muted attribute should be set to true by the hosting site?)

Here's an idea: <img src="video.mp4">.

Updated semantics should be the same as the video tag.

Nope nope nope. A gif is a single file and pretty much works everywhere.

If you have the time to do it yeah maybe. But for animated cat pictures with titles... http://blog.zencoder.com/2013/09/13/what-formats-do-i-need-f...

One of the big failures of HTML5 videos is the missing viral aspect. I can see a funny gif, then save it and then email it on to whoever and they can watch it.

Hopefully all of this will play out and it will be easier, now it is not.

This is nifty! Though it's tempting to draft a GUI for it.
This is awesome and much easier than writing FFMPEG commands (which is what I do now). An enhancement could be adding voice to text.
Thank you! I've never met MoviePy and it looks really good. I'm waiting for libopenshot to be released, what do you think about it?
I just watched the whole 'Pigs in a polka' video and it is so good! The API is also very cool :)
(on 'jessie'):

apt-cache search 'movie.<asterisk>python|python.<asterisk>movie'

... <squatmo-germane> ...

well, nutz.

(and how the hell do you type a real asterisk in this comment forum? tried escapes... tried html entities...)

For code, just put a couple spaces before the line:

  apt-cache search 'movie.*python|python.*movie'
In general, you can also stick a space after them * * *.
thank you. i would've never thought of that. * *
Nice, kept me occupied for an hour :) also I must say author did a great job with module and documentation.
mplayer can do this as well:

    mplayer videofile -vo gif89a:fps=15:output=video.gif
You can use mplayer's other options to set the start time, duration, and cropping.
Anyone done a benchmark of this vs AVISynth? I have software I wrote in AVISynth for doing 2d to 3d Stereoscopic upconversion based on motion and parallax. I have often wished I had it in something more "real" like Python.
Have you tried VaporSynth? It's kind of a spiritual successor to AviSynth in the form of a Python module. Can even load AviSynth plugins.
Isn't this overkill? You can get the exact same result with FFMPEG and a single shell command.

Seems like a solution in search of a problem.

Can you easily integrate django with a shell command? Or with the python imgur image hosting? Easy online creation of gifs seems kind of useful.
This is much nicer than my normal method of getting the frames with mplayer -vo png and then using ImageMagick to assemble the frames into an animated GIF.