ubuntu下gif动态图片的制作

Gif图片比视频小, 比静态JPG图片形象生动, 更适用于产品展示和步骤演示等。各种各样的gif动图为大家交流提供很大的乐趣. 这里简单介绍ubuntu系统下gif图的制作。

一、工具安装: kazam和ffmpeg

kazam是linux下的一款简单但是功能强大的屏幕录制工具. 它可录制声音并选择全屏录制或局部区域录制。

安装方法:

$ sudo add-apt-repository ppa:kazam-team/unstable-series
$ sudo apt-get update

$ sudo apt-get install kazam

安装成功, 在终端输入:

$ kazam

 中英文界面如下:

FFmpeg是用于录制、转换和流化音频和视频的完整解决方案, 包括 libavcodec ,一套领先的音/视频编解码类库。FFmpeg 在Linux上开发,当可以在大多数操作系统下编译,包括Windows。

安装方法:

$ sudo apt-repository ppa:kirillshkrogalev/ffmpeg-next 
$ sudo apt-get update
$ sudo apt-get install ffmpeg

 二、Gif制作

1 视频录制.

打开Kazam软件:

  1. Fullscreen 表示录制整个平面
  2. Window表示录制特定的窗口
  3. Area表示自己选取某个区域

这个可根据自己需求自行选择。

2 将视频转化为Gif

 ffmpeg功能强大,这里只是介绍将视频转为Gif时常用的指令。要将之前保存的将录屏或者其他mp4文件转化为Gif, 可简单的使用下面命令:

$ ffmpeg -i test.mp4 out.gif

 直接按照默认的参数将输入的视频文件test.mp4转换成文件out.gif输出。

 默认参数可以能转换后gif文件太大如上(如我上面输入文件才1.6M,转换后的gif文件有81M),可以使用下面带更多参数(通过上面截图知道,输入test.mp4的分辨率是578x1186,下面直接等比例缩小到289x593):

$  ffmpeg -ss 10 -t 20 -i test.mp4 -s 289x593 -r 15 output1.gif

参数  【-ss 10 to 20】 表示从从视频的第10秒开始转换, 转换时间长度为20秒后停止。 -s用于设定分辨率, -r 用于设定帧数.  通常Gif有15帧左右就比较流程了。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/65377.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Benchmarking Augmentation Methods for Learning Robust Navigation Agents 论文阅读

论文信息 题目:Benchmarking Augmentation Methods for Learning Robust Navigation Agents: the Winning Entry of the 2021 iGibson Challenge 作者:Naoki Yokoyama, Qian Luo 来源:arXiv 时间:2022 Abstract 深度强化学习和…

redis设置database 不生效剖析

设置database 不生效剖析 前言配置加载类问题commons-pool 对象池 主页传送门:📀 传送 前言 事情是这样的 今天在拉取了同事的代码做redis缓存设置的时候,发现即使已经设置了database, 但是存数据的时候还是用的默认0数据库。这引起了我的好…

WebSocket与消息推送

B/S结构的软件项目中有时客户端需要实时的获得服务器消息,但默认HTTP协议只支持请求响应模式,这样做可以简化Web服务器,减少服务器的负担,加快响应速度,因为服务器不需要与客户端长时间建立一个通信链接,但…

Qt中将信号封装在一个继承类中的方法

QLabel标签类对应的信号如下: Qt中标签是没有双击(double Click)这个信号的; 需求一:若想双击标签使其能够改变标签中文字的内容,那么就需要自定义一个“双击”信号,并将其封装在QLabel类的派生…

Programming abstractions in C阅读笔记:p107-p110

《Programming Abstractions In C》学习第46天,p107-p110,3.1小节——“The concept of interface”,总结如下: 一、技术总结 1.client p108,调用library的program称为client。 2.interface p108,“To do …

马来西亚的区块链和NFT市场调研

马来西亚的区块链和NFT市场调研 基本介绍 参考: https://zh.wikipedia.org/wiki/%E9%A9%AC%E6%9D%A5%E8%A5%BF%E4%BA%9A zz制度:联邦议会制 语言文字: 马来语 民族: 69.4%原住民(土著),23.2%…

GPT-NER:使用大型语言模型进行命名实体识别

讲在前面,chatgpt出来的时候就想过将其利用在信息抽取方面,后续也发现了不少基于这种大语言模型的信息抽取的论文,比如之前收集过的: https://github.com/cocacola-lab/GPT4IE https://github.com/RidongHan/Evaluation-of-ChatG…

Stable Diffusion教程(9) - AI视频转动漫

配套抖音视频教程:https://v.douyin.com/UfTcrcJ/ 安装mov2mov插件 打开webui点击扩展->从网址安装输入地址,然后点击安装 https://github.com/Scholar01/sd-webui-mov2mov 最后重启webui 下载模型 从国内liblib AI 模型站下载模型 LiblibAI哩…

windows安装apache-jmeter-5.6.2教程

目录 一、下载安装包(推荐第二种) 二、安装jmeter 三、启动jmeter 一、下载安装包(推荐第二种) 1.官网下载:Apache JMeter - Download Apache JMeter 2.百度云下载:链接:https://pan.baidu.…

如何查询多级菜单(采用递归的方法)

应用场景 1.京东 京东的页面就是这么显示的在家用电器下面有电视.空调.洗衣机然后再电视下面又有全面屏电视.教育电视等等 2.我们的后端管理系统 我们后端在页面上显示的很多也是通过层级目录的显示出来。 如何实现 1.准备数据库 我们这里parent_id为0的为我们的一级菜单 …

python_day19_正则表达式

正则表达式re模块 导包 import res "python java c c python2 python python3"match 从头匹配 res re.match("python", s) res_2 re.match("python2", s) print("res:", res) print(res.span()) print(res.group()) print("…

Java 成功实现通过网址URL截图保存

Java 实现通过网址URL截图 1.DjNativeSwing方式 (不好用)2.phantomjs方式 (截图还是有瑕疵)3.selenium方式 (满意,成功实现)maven 引入下载相关浏览器chrome下载相关浏览器chromedriver驱动后端…