如何用 Python 制作 GIF 动图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用 Python 制作 GIF 动图相关的知识,希望对你有一定的参考价值。

参考技术A 首先找到要制作动图的视频。

点击打开观看。

视频观看过程中,打开动图制作软件。

选择需要截取的画面。

点击录制几秒钟后,点击停止并保存。

保存到电脑,然后可以传到手机进行使用。

iOS模拟器录屏制作GIF

正所谓一图胜千言,有时候在REAMDE里面放一张gif动图比写一堆说明有用的多。这篇小文就简单来说明一下如何用XCode提供的功能来录制iOS的视频,最后转换为Gif动图。

需要用到的工具

  1. XCode
  2. 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是否循环播放

    1. -loop 0: 无限循环
    2. -loop -1: 不循环,只播放一次
    3. -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.pngout002.pngout003.png...

然后用ImageMagick生成gif

convert -delay 10 -loop 0 -layers optimize output/out*.png output.gif

这种方法主要是需要在中间调整编辑一下png文件时有用,只需要Gif的话还是推荐只使用ffpmg来生成gif简单一些。

以上是关于如何用 Python 制作 GIF 动图的主要内容,如果未能解决你的问题,请参考以下文章

如何用Photoshop CC迅速地制作一张Loading的gif动图

如何用Photoshop CC迅速地制作一张Loading的gif动图

数据可视化 GIF 图,Matplotlib 也可以画出来

iOS模拟器录屏制作GIF

Python 绘图与可视化 matplotlib 制作Gif动图

Python 批量处理图片,生成gif动图