我正在寻找一个免费程序,它可以让我录制我的屏幕并将“视频”保存为动画 GIF。
这在制作说明/步骤来做某事时很有用。
要求:
- 免费(最好是开源的)
- 制作一个持续约 10 秒的 GIF
- 在 Snow Leopard - 10.6.8 上运行(如果可能,也可以使用 Win7 :)
- 在本地保存文件 - 不会自动上传到网站
注意:我不是在寻找将图像转换为动画 GIF 的程序,而是更多“现场”视频制作器和转换器(即,我希望该程序制作视频并将其制作为 GIF - 上传到网站等)。
我正在寻找一个免费程序,它可以让我录制我的屏幕并将“视频”保存为动画 GIF。
这在制作说明/步骤来做某事时很有用。
要求:
注意:我不是在寻找将图像转换为动画 GIF 的程序,而是更多“现场”视频制作器和转换器(即,我希望该程序制作视频并将其制作为 GIF - 上传到网站等)。
我今天实际上是在尝试为自己解决这个问题,并发现了这个不错的 Github 小要点:
https://gist.github.com/dergachev/4627207
使用 Quicktime 保存视频,使用 ffmpeg 转换视频,使用 gifsicle 压缩/清理最终的 gif。
它使用命令行,因此它可能不适合您的用例,但我怀疑这可以很容易地放入 Automator 工作流程中。
安装:
brew install ffmpeg
brew cask install xquartz #dependency for gifsicle, only required for mountain-lion and above
brew install gifsicle
转换:
ffmpeg -i in.mov -s 600x400 -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > out.gif
输出分辨率可以(并且可能应该)随着文件名的变化而变化。
对于想要生成 shell 脚本来执行上述操作的人,我想出了这个:
https://gist.github.com/vmrob/27e4de2295c253edb7b3
#!/bin/bash -e
# Converts a video to a gif
if [ "$#" -ne 2 ]; then
echo "usage: ${0##*/} [input video] [output gif]"
exit 1
fi
VIDEO=$1
GIF=$2
# finds width and height of $VIDEO expressed as 123x456
WIDTH_HEIGHT=$(ffprobe -loglevel warning -show_streams $VIDEO | grep -e "width\|height" | sed -E 's/(width|height)=//g' | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/x/g')
# converts the video
ffmpeg -i $VIDEO -s $WIDTH_HEIGHT -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > $GIF
如果您想为此创建一个自动化工作流程,您将需要使用“运行 Shell 脚本”工作流程项,并使用参数作为输入。我不得不稍微修改它,因为生成的 .app 不知道 ffprobe、ffmpeg 或 gifsicle 在哪里,所以这个解决方案绝对不是很便携,可能需要调整,但它至少很快:
#!/bin/bash -e
# Converts a video to a gif
if [ "$#" -ne 1 ]; then
echo "usage: ${0##*/} [input video]"
exit 1
fi
TOOL_PATH=/usr/local/bin
VIDEO=$1
GIF=$VIDEO.gif
# finds width and height of $VIDEO expressed as 123x456
WIDTH_HEIGHT=$($TOOL_PATH/ffprobe -loglevel warning -show_streams $VIDEO | grep -e "width\|height" | sed -E 's/(width|height)=//g' | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/x/g')
# converts the video
$TOOL_PATH/ffmpeg -i $VIDEO -s $WIDTH_HEIGHT -r 10 -f gif - | $TOOL_PATH/gifsicle --optimize=3 --delay=3 > $GIF
然后,您可以将工作流程保存为适用于文件的应用程序或服务,以便使用它就像将电影拖放到其中或右键单击视频文件一样简单:
我不知道为什么它显然加速了..
您可以使用Recordit: