只需要两步制作GIF动态图,方便快捷,制作动态表情包的利器!

news/2024/9/28 20:15:04 标签: python, 表情包, GIF, 动图

在这里插入图片描述推荐阅读:Python制作进度条,18种方式全网最全!(不全去你家扫厕所!)

在日常生活中肯定会接触到gif,例如在写文章的时候,有时需要将自己的代码的运行结果展示出来,如果放一张静态图可能不直观,需要展示一个动图,能够让读者更直观的看到自己的运行结果。或者在制作一些动态的表情包的时候也需要使用GIF,那么GIF图如何制作呢?

准备工具

MAC自带的录屏工具

  • 软件名称:QuickTime Player
  • 软件平台:macOS(内置于文件app)、iOS(部分功能)
  • 开发商:苹果公司
  • 软件类型:媒体播放器及多媒体架构
    在这里插入图片描述
  • 视频播放:
    QuickTime Player支持多种视频格式,包括但不限于MP4、MOV、AVI等,让用户能够轻松播放各种来源的视频文件。
    提供高清视频播放能力,确保视频内容的清晰度和流畅度。
  • 音频播放:
    除了视频文件,QuickTime Player还支持音频文件的播放,如MP3、MIDI等,满足用户多样化的播放需求。
  • 媒体编辑与创作:
    虽然QuickTime Player的基本版本主要面向播放功能,但付费版(QuickTime Pro)则提供了更为丰富的媒体编辑和创作功能,如视频剪辑、音频编辑、特效添加等。
    用户可以使用QuickTime Pro进行视频文件的转换、录制和剪辑,以及音频文件的处理和编辑。
  • 流媒体传输:
    QuickTime架构支持流媒体传输,允许用户通过互联网实时传输和播放媒体内容。
  • 多平台兼容性:
    QuickTime Player不仅限于macOS系统,还提供了对iOS系统的部分支持,以及跨平台的兼容性,使得用户可以在不同设备间无缝切换和播放媒体内容。

gifify工具

gifify是一个功能强大的开源工具,它能够将视频文件转换为优化的动态GIF图像。无论是完整的视频还是视频中的特定片段,gifify都能轻松应对,为用户提供了一种简单、高效的视频到GIF的转换方式。

  • 功能:将视频文件转换为GIF动画。
  • 类型:命令行工具
  • 项目地址:https://github.com/jclem/gifify.git

功能特点

  • 视频转GIF
    支持将任何视频文件(如MP4、MOV等)转换为GIF格式,方便在社交媒体、博客、即时通讯平台等地方分享。
    可以选择转换视频的整个长度或仅其中的一部分,满足用户的不同需求。
  • 优化处理:
    利用FFmpeg进行视频处理,ImageMagick进行图像转换,并通过giflossy等工具实现GIF文件的优化压缩,大大减小了GIF图片的体积,同时保持较高的图像质量。
  • 丰富的参数配置:
    支持多种参数配置,如帧率、裁剪、速度调整、颜色数量、压缩级别等,以生成高质量的GIF动画。
    用户可以根据实际需求调整这些参数,以满足不同的使用场景。
  • 流式处理与内存优化:
    支持从标准输入读取视频文件,方便管道操作。
    无需创建临时文件,所有操作都在内存中完成,保证了速度的同时节省了硬盘空间。
  • 文本和字幕烧录:
    可以在GIF上添加文字,并支持导入字幕文件进行烧录,提升表达效果。
  • 跨平台与兼容性:
    尽管gifify可能最初是为MacOS设计的,但其基于Shell脚本或Node.js的本质使其在其他Unix-like系统中也有潜力运行。
    生成的GIF文件在各种环境中都能保持较好的播放兼容性。

gifify安装和使用

使用以下命令安装gifify

python">brew install gifify

使用gifify
假设你有一个名为recording.mov的屏幕录制文件:

1.转换成GIF文件:

python">gifify recording.mov

2.输出到新文件new_gif.gif:

python">gifify -o new_gif recording.mov

3.裁剪左上角后转换:

python">gifify -c 100:100 recording.mov

4.设置每秒60帧转换:

python">gifify -r 60 recording.mov

5.以30帧每秒的速度转换,并加速两倍播放:

python">gifify -r 30@2 recording.mov

6.同样加速两倍,但只循环一次:

python">gifify -r 30@2 -l 1 recording.mov

关于帧率

GIF播放器通常限制帧率为每秒60到100帧之间。在调整GIF的帧率或播放速度时,请确保帧率不超过60fps,以保证GIF播放的一致性。一个简单的计算原则是FPS乘以播放速度不应超过60。

演示

按照我之前写Python制作进度条时的步骤
首先把进度条的执行过程录制下来,然后使用gifify进行转换

录制

这是我运行时候的控制台,我需要把控制台上进度条执行的过程录制下来
在这里插入图片描述

打开QuickTime Player

右击图标,选择新建屏幕录制
在这里插入图片描述

选定要录制的区域

选中要录制的区域之后,点击录制,录制完成之后就可以停止录制了

gif转换

打开终端,进入到刚才录制的视频的保存目录
在这里插入图片描述

  • gifify:这个是执行命令
  • 1.mov:我录制的视频文件名称
  • 1.gif:转换成gif之后的文件名

展示一下结果:

在这里插入图片描述# 推荐阅读

Python基础

Python全网最全基础课程笔记(一)——基础入门
Python全网最全基础课程笔记(二)——变量
Python全网最全基础课程笔记(三)——所有运算符+运算符优先级
Python全网最全基础课程笔记(四)——基本数据类型
Python全网最全基础课程笔记(五)——选择结构+Python新特性Match
Python全网最全基础课程笔记(六)——循环结构
Python全网最全基础课程笔记(七)——列表,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
Python全网最全基础课程笔记(八)——字典,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
Python全网最全基础课程笔记(九)——集合,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
Python全网最全基础课程笔记(十)——元组,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
Python全网最全基础课程笔记(十一)——字符串所有操作,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
Python全网最全基础课程笔记(十二)——函数,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
Python全网最全基础课程笔记(十三)——作用域,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!

Flink入门到就业

2024年最新Flink教程,从基础到就业,大家一起学习–基础篇
2024年最新Flink教程,从基础到就业,大家一起学习–入门篇
2024年最新Flink教程,从基础到就业,大家一起学习–Flink集群部署
2024年最新Flink教程,从基础到就业,大家一起学习–flink部署和集群部署(从本地测试到公司生产环境如何部署项目源码)
2024年最新Flink教程,从基础到就业,大家一起学习–Flink运行架构底层源码详解+实战
2024年最新Flink教程,从基础到就业,大家一起学习–Flink DataStream API-第一篇+源码讲解

在这里插入图片描述


http://www.niftyadmin.cn/n/5681774.html

相关文章

【C++】STL详解之string类

目录 什么是STL STL的版本 STL的六大组件 STL的缺陷 一.string的定义方式 二. string的插入 1.使用push_back进行尾插 2.使用insert插入 三.string的拼接 四.string的删除 1.使用pop_back进行尾删 2.使用erase进行删除 五.string的查找 1.使用find正向搜索第一个…

数据分析学习之学习路线

前言 我们之前通过cda认证了解到数据分析行业,但是获取到证书,并不代表着,我们已经拥有的数据分析的能力,所以通过系统的学习数据分析需要掌握的能力,并学习大佬们的分析经验、分析思路,才是成为数据分析师…

【MySQL】函数及存储过程

MySQL函数和存储过程 函数 数据库中的函数是一种可重复使用的命名代码块,用于在数据库中执行特定的操作或计算。 在MySQL中提供了很多函数,为我们的SQL提供了便利 内置函数 mysql> select count(r_id),max(r_id),min(r_id),avg(r_id) from resume…

速盾:cdn是怎么加速视频的?

CDN(Content Delivery Network)是一种网络加速服务,通过将内容分发到全球各地的服务器节点上,提供更快速度和更可靠的内容传输。当涉及到视频内容时,CDN起到了至关重要的作用,它通过一系列的技术和策略来加…

python程序操作Windows系统中的软件如word等(是否可以成功操作待验证)

一、python打开word软件 在 Python 中可以使用python-docx库来操作 Word 文档,但如果你的需求是直接打开 Word 软件,你可以使用os模块和subprocess模块来实现。以下是示例代码: import os import subprocessdef open_word():word_path rC:…

brew禁止更新

在运行 brew install maven 时,Homebrew 自动更新并显示了一些提示。以下是你可以选择的操作: 1. 继续安装 Maven 如果你不介意 Homebrew 自动更新并想继续安装 Maven,你可以直接等待更新完成,Maven 会自动安装。 2. 禁用 Home…

SpringBoot使用hutool操作FTP

项目场景&#xff1a; SpringBoot使用hutool操作FTP&#xff0c;可以实现从FTP服务器下载文件到本地&#xff0c;以及将本地文件上传到FTP服务器的功能。 实现步骤&#xff1a; 1、引入依赖 <dependency><groupId>commons-net</groupId><artifactId>…

干货 | 2024大模型十大趋势(免费下载)

导读&#xff1a;近日&#xff0c;在2024世界人工智能大会上&#xff0c;腾讯正式发布了《2024大模型十大趋势——走进“机器外脑”时代》报告。目前&#xff0c;这一报告正在AI产业界各大社群快速传播。报告中&#xff0c;腾讯研究院试图通过10个关键性的趋势&#xff0c;去理…