Olsond

try to be alive

0%

OS X 屏幕录制转 GIF 动画 (翻译)

OS X 屏幕录制转 GIF 动画

转自 https://gist.github.com/dergachev/4627207

本指南展示如何仅使用免费的 OS X 工具(QuickTime、ffmpeg 和 gifsicle)创建 GIF 格式的屏幕录制动画。

屏幕录制 GIF 示例

操作指南

第一步:录制视频 (文件大小:19MB),使用免费的 “QuickTime Player” 应用程序:

  • 打开 “QuickTime Player”。
  • 前往 文件 -> 新建屏幕录制。
  • 拖动矩形框选择屏幕录制区域,录制一段 13 秒的视频。
  • 前往 文件 -> 导出 -> 为影片…
    • 最高质量保存视频,文件命名为 in.mov

第二步:将 in.mov 转换为 out.gif (文件大小:48KB)
打开终端(Terminal),进入到存放 in.mov 文件的目录,运行以下命令:

ffmpeg -i in.mov -s 600x400 -pix_fmt rgb24 -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > out.gif

命令参数说明:

  • -r 10:指示 ffmpeg 将帧率从 25 fps 降低到 10 fps。
  • -s 600x400:指示 ffmpeg 设置 GIF 的最大宽度和最大高度(单位:像素)。
  • --delay=3:指示 gifsicle 设置每帧 GIF 之间的延迟为 3(单位:每单位代表 10 毫秒,即 30 毫秒)。
  • --optimize=3:要求 gifsicle 使用最慢但文件体积优化效果最好的级别(3级)。

第三步:通过 DropboxCopy Public URL 分享新生成的 GIF
运行以下命令(将 GIF 复制到 Dropbox 的公共文件夹并按时间命名):

cp out.gif ~/Dropbox/Public/screenshots/Screencast-`date +"%Y.%m.%d-%H.%M"`.gif

软件安装

转换过程需要安装以下命令行工具:

  • ffmpeg:用于处理视频文件。
  • gifsicle:用于创建和优化 GIF 动画。

如果你使用 Homebrew 和 Homebrew Cask 管理软件包,只需在终端输入以下命令安装:

brew install ffmpeg
brew install --cask xquartz # gifsicle 的依赖项,仅 Mountain Lion 及更高版本需要
open /usr/local/Cellar/x-quartz/2.7.4/XQuartz.pkg # 运行 XQuartz 安装程序(注意:版本路径可能需要更新)
brew install gifsicle

另请参阅

我已将此指南的功能重写为 screengif —— 一个 Ruby 脚本。它显著提升了输出质量,并增加了一些额外功能。欢迎访问 https://github.com/dergachev/screengif 查看。

参考资料

相关想法

  • 扩展 https://github.com/dergachev/copy-public-url 的文件夹操作(Folder Action)以支持此流程:
    • 在复制 Dropbox 公开链接前自动完成转换。
    • 将此文件夹操作分配给 ~/Dropbox/Public/Screenshots/gif
    • 考虑如何简化依赖项的安装过程。