共计 1012 个字符,预计需要花费 3 分钟才能阅读完成。
正所谓一图胜千言,有时候在 REAMDE 外面放一张 gif 动图比写一堆阐明有用的多。这篇小文就简略来阐明一下如何用 XCode 提供的性能来录制 iOS 的视频,最初转换为 Gif 动图。
须要用到的工具
- XCode
- ffmpeg
其中 ffmpeg 能够利用 brew 来装置。
一、用 XCode 来录屏
首先关上模拟器,而后运行上面的命令启动录制(能够应用 control + c
来完结播放):
xcrun simctl io booted recordVideo --code=h264 --mask=black --force out.mov
参数阐明:
--codec
: 能够用h264
或者hevc
两种格局--mask
: 用black
能够带上边框,或者用ignored
不显示边框
二、用 ffmpg 来转换格局
能够执行上面的命令把 out.mov 视频转换成 output.gif。
ffmpeg -i out.mov -vf "fps=10,scale=320:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 output.gif
参数阐明:
fps=10
: 每秒 10 帧,能够依据本人须要调整。scale=320:-1
: 用于输入 gif 文件宽高缩放,这里 320 这个值是指 iphone 竖屏的时候幕宽度,- 1 示意放弃宽靠比进行缩放。-
-loop 0
: 这个用来管制输入 gif 是否循环播放-loop 0
: 有限循环-loop -1
: 不循环,只播放一次-loop 1
: 循环一次,会播放两次
三、另一种多此一举的办法
另外能够应用 ffpmg 生成 png 图片序列,再用 ImageMagick 生成 gif。
ffmpeg -i out.mov -vf "fps=10,scale=320:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output/out%3d.png
这条命令会在 output
文件夹上面生成一堆 png 文件,诸如out001.png
,out002.png
,out003.png
…
而后用 ImageMagick 生成 gif
convert -delay 10 -loop 0 -layers optimize output/out*.png output.gif
这种办法次要是须要在两头调整编辑一下 png 文件时有用,只须要 Gif 的话还是举荐只应用 ffpmg 来生成 gif 简略一些。
正文完