只需要两步制作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

brew install gifify

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

1.转换成GIF文件:

gifify recording.mov

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

gifify -o new_gif recording.mov

3.裁剪左上角后转换:

gifify -c 100:100 recording.mov

4.设置每秒60帧转换:

gifify -r 60 recording.mov

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

gifify -r 30@2 recording.mov

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

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.xdnf.cn/news/1549290.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

05-成神之路_ambari_Ambari实战-013-代码生命周期-metainfo-configFiles详解

1.Redis 集群 metainfo.xml 示例 <?xml version"1.0"?> <metainfo><schemaVersion>2.0</schemaVersion><services><service><!-- Redis 集群服务的基本信息 --><name>REDIS</name><displayName>Redi…

VulnHub-SickOs1.1靶机笔记

SickOs1.1靶机笔记 概述 Vulnhub的靶机sickos1.1 主要练习从互联网上搜取信息的能力&#xff0c;还考察了对代理使用&#xff0c;目录爆破的能力&#xff0c;很不错的靶机 靶机地址&#xff1a; 链接: https://pan.baidu.com/s/1JOTvKbfT-IpcgypcxaCEyQ?pwdytad 提取码: yt…

Kali Linux上安装远程桌面服务VNC

在Kali Linux上安装远程桌面服务VNC&#xff0c;可以按照以下步骤进行&#xff1a; 一、安装VNC Server 更新软件包列表&#xff1a; 在终端中运行以下命令&#xff0c;以确保你的软件包列表是最新的。 sudo apt update在执行更新之前会先验证当前账号密码&#xff0c;输入密码…

一种路径敏感的数据依赖分析算法

Falcon 1.方法1.1.Basic Rule1.2.改进算法1.3.跨函数分析 2.Evaluation2.1.设置2.2.value-flow分析2.3.Thin Slicing2.4.Bug Detection 参考文献 这篇工作发表于PLDI 24&#xff0c;提出了一种context- 以semi-path-sensitive的数据依赖分析算法&#xff0c;解决path-sensitive…

大数据毕业设计选题推荐-广东旅游数据分析系统-Hive-Hadoop-Spark

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、PHP、.NET、Node.js、GO、微信小程序、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇…

【牛Y】3DMAX快速构建低多边形城市建筑和道路插件CityBlocks教程

3DMAX快速构建低多边形城市建筑和道路插件CityBlocks&#xff0c;该插件功能主要分为两部分&#xff1a;一键城市建筑生成和一键城市道路生成。可用于城市配景建模、地图三维建模等使用。内置多种建筑组合方式&#xff0c;可使生成的建筑配景更加丰富、富于变换&#xff01; 【…

C++友元和运算符重载

目录 一. 友元 friend 1.1 概念 1.2 友元函数 1.3 友元类 1.4 友元成员函数 二. 运算符重载 2.1 概念 2.2成员函数运算符重载 2.3 成员函数运算符重载 2.4 特殊运算符重载 2.4.1 赋值运算符重载 2.4.2 类型转换运算符重载 2.5 注意事项 三、std::string 字符串类…

sentinel原理源码分析系列(一)-总述

背景 微服务是目前java主流开发架构&#xff0c;微服务架构技术栈有&#xff0c;服务注册中心&#xff0c;网关&#xff0c;熔断限流&#xff0c;服务同学&#xff0c;配置中心等组件&#xff0c;其中&#xff0c;熔断限流主要3个功能特性&#xff0c;限流&#xff0c;熔断&…

基于单片机语音智能导盲仪仿真设计

文章目录 前言资料获取设计介绍设计程序具体实现截图设计获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师&#xff0c;一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们…

计算机毕业设计Python+Spark知识图谱微博舆情预测 微博推荐系统 微博可视化 微博数据分析 微博大数据 微博爬虫 Hadoop 大数据毕业设计

《PythonSpark知识图谱微博舆情预测》开题报告 一、课题背景与意义 随着互联网技术的飞速发展&#xff0c;社交媒体平台如微博已成为人们表达观点、交流信息的重要渠道。微博每天产生海量的数据&#xff0c;这些数据中蕴含着丰富的社会情绪、事件动态等信息&#xff0c;对于政…

AI周报(9.22-9.28)

AI应用-Siipet宠物沟通师 Siipet是一款由SiiPet公司推出的创新宠物行为分析相机&#xff0c;旨在通过尖端技术加深宠物与主人之间的情感联系。这款相机利用先进的AI算法&#xff0c;能够自动识别和分析家中宠物的行为&#xff0c;并提供定制化的护理建议。 SiiPet相机的核心功…

影院管理革新:小徐的Spring Boot应用

第二章开发技术介绍 2.1相关技术 小徐影城管理系统是在Java MySQL开发环境的基础上开发的。Java是一种服务器端脚本语言&#xff0c;易于学习&#xff0c;实用且面向用户。全球超过35&#xff05;的Java驱动的互联网站点使用Java。MySQL是一个数据库管理系统&#xff0c;因为它…

进程间通信(一)【管道通信(下)】

目录 3. 编码通信3.1 管道的四种情况3.2 管道的大小3.3 总结管道的五个特征 4. 管道的应用场景4.1 命令行中的管道4.2 进程池中的管道 3. 编码通信 // 创建管道文件的系统调用 // pipefd&#xff1a;输出型参数&#xff0c;将以读写方式分别打开的文件的文件描述符带出&#x…

2025 年 IT 前景:机遇与挑战并存,人工智能和云计算成重点

云计算de小白 投资人工智能&#xff1a;平衡潜力与实用性 到 2025 年&#xff0c;人工智能将成为 IT 支出的重要驱动力&#xff0c;尤其是在生成式人工智能领域。人工智能的前景在于它有可能彻底改变业务流程、增强决策能力并开辟新的收入来源。然而&#xff0c;现实情况更加微…

突发:OpenAI o1颠覆了人类,o1为什么超越了人类,sam万字长文解读

要点速读 2024 年 9 月 12 日&#xff0c;OpenAI 发布了其最新的人工智能模型——o1&#xff08;Learning to Reason with LLMs[1]&#xff09;&#xff0c;这是一款经过强化学习训练的大型语言模型&#xff0c;能够执行复杂的推理任务。相比于此前的 GPT-4o&#xff08;GPT-4…

上交所服务器崩溃:金融交易背后的技术隐患暴露杭州BGP高防服务器43.228.71.X

一、上交所宕机事件始末 2024 年 9 月 27 日&#xff0c;上交所交易系统突发崩溃&#xff0c;这一事件犹如一颗巨石投入平静的湖面&#xff0c;引起了轩然大波。当天上午&#xff0c;众多投资者反馈券商交易出现延迟问题&#xff0c;随后上交所发布了《关于股票竞价交易出现异常…

【中医智慧解糖忧】血糖高?中医调理有妙招,自然平衡血糖不是梦!

在快节奏的现代生活中&#xff0c;高血糖已成为困扰许多人的健康难题。面对这一挑战&#xff0c;许多人第一时间想到的是西医的药物治疗&#xff0c;却往往忽略了中医这一博大精深的宝库。事实上&#xff0c;中医以其独特的理论体系和丰富的实践经验&#xff0c;在调理血糖方面…

C++里的随机数

想用C做最基础的猜数字,肯定少不了随机数; srand(unsigned(time(NULL))); rand() //是生成一个随机数 rand()%1001//就是一个从一到一百的随机数 合体: #include <iostream> #include <cstdlib> #include <time.h> int main() { int g 0; while (g < …

NSSCTF [HDCTF 2023]easy_re

文件有壳 先用upx脱壳 upx -d 文件地址 将文件拖入IDA shiftF12查看可疑字符串 先进入主函数查看 继续跟进function函数 发现这就是一个base64解码 void __cdecl func(char *x, char *y) {unsigned __int8 *v3; // 用于暂存字符的指针unsigned __int8 v4; // 用于暂存单个字符…

MyBatis——Plus——入门

常用注解 MyBatis——Plus怎么知道他是访问哪张表 常用配置