Ubuntu录屏+转gif

本文介绍如何使用kazam录制屏幕并将其转换为MP4格式,接着利用mplayer和imagemagick将MP4视频文件转化为一系列的JPEG图片,最后将这些图片合成GIF动图。

1.安装kazam和mplayer

我在做的时候发现,kazam在软件中心有,可直接安装。
其实mplayer也是有的可直接安装,但mplayer有些人会可能找不到,所以我也建议可以在终端输入:sudo apt-get install mplayer
当然,mplayer是不会有现成的,但安装完后实际已经存在了,可以直接在终端输:mplayer,来寻找。


2.安装imagemagick

因为我要把视频什么的都放在视频文件夹中,所以安装这个前先进入视频文件夹,再安装

cd 视频
sudo apt-get install imagemagick
这里写图片描述


3.利用kazam录制视频,并保存在视频文件夹中(当然哪个文件夹随意),MP4格式被保存


4.改为gif—

(1).先将视频转换成一个一个的jpg,在tabs文档中,(也要在视频文件夹下)

cd 视频
mplayer -ao null 111.mp4 -vo jpeg:outdir=./tabs
这里写图片描述

(2).将这些jpg转换为gif(注意输入命令是的一些地方需要空格)

这里45%是指尺寸

这里写图片描述

(3).基本已经大功告成了,最后把那些jpg删了吧

sudo rm ./tabs/*.jpg


5.展示

这里写图片描述

### 使用 Qt 实现录制功能 为了在 Ubuntu 系统上使用 Qt 进行录制,需要先安装必要的库和工具。确保已安装 Python 和 pip 工具之后,可以通过包管理器安装 PyQt4 及其依赖项: ```bash sudo apt-get update sudo apt-get install python-qt4 python-opengl libglu1-mesa-dev freeglut3-dev mesa-common-dev ``` 接着,在 Python 脚本中引入所需的模块[^1]: ```python from PyQt4 import QtCore, QtGui, QtOpenGL import OpenGL.GL as gl import OpenGL.GLU as glu import sys ``` 创建主窗口类 `MainWindow` 继承自 `QtGui.QWidget` 并重写鼠标事件处理函数以便能够通过拖拽调整区域尺寸[^2]: ```python class MainWindow(QtGui.QWidget): def __init__(self): super(MainWindow, self).__init__() # 初始化界面参数... def mousePressEvent(self, event): if event.button() == QtCore.Qt.LeftButton: self.dragPosition = event.globalPos() - self.frameGeometry().topLeft() event.accept() def mouseMoveEvent(self, event): if event.buttons() & QtCore.Qt.LeftButton: self.move(event.globalPos() - self.dragPosition) event.accept() # 更多功能实现... ``` 对于实际的视频捕捉部分,则需利用操作系统提供的 API 或第三方库完成帧抓取工作。考虑到兼容性和效率问题,建议采用 FFmpeg 库作为底层支持来进行高效的图像序列编码为 GIF 文件或其他格式。 最后一步是将捕获到的画面保存下来形成动画文件。这里可以考虑使用 gif.h 开源项目中的方法来合成多张静态图片成为动态图[^3]。不过需要注意的是,由于版权原因,直接提供完整的代码片段可能不合适;上述描述旨在给出大致思路和技术选型指导。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值