技巧: macOS 录屏保存为 gif 格式

Mac 上面录屏发现总是保存为 mov 或者 mp4。怎么办?脚本。

这里可以借助 ffmpeg 做好各式转换。(如果直接借助录屏工具产出的大概是我们自己指定的 gif 大小的 25 倍size)

安装ffmpeg

1
brew install ffmpeg

上面的命令会自动分析依赖包并安装,当然也可以完整的指定:

1
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-libass --with-libquvi --with-libvorbis --with-libvpx --with-opus --with-x265

以后更新的话:

1
brew update && brew upgrade ffmpeg

主要使用方式:

usage: ffmpeg [options] [[infile options] -i infile]… {[outfile options] outfile}…

转换脚本

将 mp4 或者 mov 格式的视频转换为 gif

ffmpeg -i xxx.mp4 xxx.gif

上面设置的导出属性都是默认的(中等质量),一般也能自己指定:

1
2
# 修改比特率转成高质量
$ ffmpeg -i small.mp4 -b 1024k small.gif

如何查看帧率?

当然也可以直接设置一下别名 alias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## gif alias
## usage gif source.mp4
function fig()
{
## check file
if [ -z "$1" ]
then
echo "the file is not exists \n"
return
fi
SOURCE=$1
## check the tail or subfix is mp4, move
SUBFIX=${SOURCE##*.}
echo ${SUBFIX}
if [ ${SUBFIX} != "mp4" ]
then
echo "watch out ur file is not mp4"
fi

TARGET=${SOURCE%%.*}
ffmpeg -i $SOURCE "$TARGET.gif"
}
alias gif='fig'

进阶技巧

下面属于有特殊需求的

缩放视频尺寸:

1
ffmpeg -i big.mov -vf scale=宽度:-1  xxx.mov
  • 注意 sacle 值必须是偶数,这里的 -1 表示保持长宽比,根据宽度值自适应高度
  • 如果要求压缩出来的视频尺寸长宽都保持为偶数,可以使用 -2

快速播放: (指定 PTS 即为速率,所以前面写小于1的数字)

1
ffmpeg -i input.mov -filter:v "setpts=0.5*PTS" output.mov

指定帧率 16fps:

1
ffmpeg -i input.mov -r 16 -filter:v "setpts=0.125*PTS" -an output.mov

慢速播放:

1
ffmpeg -i input.mov -filter:v "setpts=2.0*PTS" output.mov

移除音频:

1
ffmpeg -i input.mov -an mute-output.mov

_获取gif第一帧:

直接用”预览”打开图片, 然后保存第一幅图像即可。


Merlin
2018.2

文章目录
  1. 1. 安装ffmpeg
  2. 2. 转换脚本
  3. 3. 进阶技巧
|