`
MyEyeOfJava
  • 浏览: 1156632 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:71340
533896eb-dd7b-3cde-b4d3-cc1ce02c1c14
晨记
浏览量:0
社区版块
存档分类
最新评论

Linux下录制视频

阅读更多

在Linux上怎么录制终端操作 

录制一个终端操作可能是一个帮助他人学习 Linux 、展示一系列正确命令行操作的和分享知识的通俗易懂方法。不管是出于什么目的,从终端复制粘贴文本需要重复很多次,而录制视频的过程也是相当麻烦,有时候还不能录制。在这次的文章中,兄弟连www.lampbrother.net将简单的了解一下以 gif 格式记录和分享终端会话的方法。 

预先要求 
如果你只是希望能记录你的终端会话,并且能在终端进行回放或者和他人分享,那么你只需要一个叫做:ttyrec 的软件。Ubuntu 用户可以通过运行这行代码进行安装: 
sudo apt-get install ttyrec 

如果你想将生成的视频转换成一个 gif 文件,这样能够和那些不使用终端的人分享,就可以发布到网站上去,或者你只是想做一个 gif 方便使用而不想写命令。那么你需要安装额外的两个软件包。第一个就是 imagemagick , 你可以通过以下的命令安装: 
sudo apt-get install imagemagick 

第二个软件包就是:tty2gif.py,访问其项目网站下载。这个软件包需要安装如下依赖: 
sudo apt-get install python-opster 

录制 
开始录制终端操作,你需要的仅仅是键入 ttyprec ,然后回车。这个命令将会在后台运行一个实时的记录工具。我们可以通过键入exit或者ctrl+d来停止。ttyrec 默认会在主目录下创建一个ttyrecord的文件。 

回放 
回放这个文件非常简单。你只需要打开终端并且使用 ttyplay 命令打开 ttyrecord 文件即可。(在这个例子里,我们使用 ttyrecord 作为文件名,当然,你也可以改成你用的文件名) 


然后就可以开始播放这个文件。这个视频记录了所有的操作,包括你的删除,修改。这看起来像一个拥有自我意识的终端,但是这个命令执行的过程并不是只是为了给系统看,而是为了更好的展现给人。 

注意一点,播放这个记录是完全可控的,你可以通过点击 + 或者 - 进行加速减速,或者 0和 1 暂停和恢复播放。 

导出成 GIF 
为了方便,我们通常会将视频记录转换为 gif 格式,并且,这个非常容易做到。以下是方法: 

将之前下载的 tty2gif.py 这个文件拷贝到 ttyprecord 文件(或者你命名的那个视频文件)相同的目录,然后在这个目录下打开终端,输入命令: 
python tty2gif.py typing ttyrecord 

如果出现了错误,检查一下你是否有安装 python-opster 包。如果还是有错误,使用如下命令进行排除。 
sudo apt-get install xdotool 
export WINDOWID=$(xdotool getwindowfocus) 
然后重复这个命令 python tty2gif.py 并且你将会看到在 ttyrecord 目录下多了一些 gif 文件。 

接下来的一步就是整合所有的 gif 文件,将他打包成一个 gif 文件。我们通过使用 imagemagick 工具。输入下列命令: 
convert -delay 25 -loop 0 *.gif example.gif 

你可以使用任意的文件名,我用的是 example.gif。 并且,你可以改变这个延时和循环时间。

分享到:
评论

相关推荐

    Linux下录制视频+声音(Python实现)

    Linux下录制视频 使用 pyaudio moviepy PIL pyscreen

    Linux+Ubuntu+QT视频录制与保存,tcp通信。

    在本项目中,我们主要关注的是使用Linux操作系统中的Ubuntu环境,结合QT库来实现视频录制与保存,并通过TCP通信协议进行数据传输。以下是对这些关键知识点的详细解释: 1. **Linux Ubuntu**: Linux Ubuntu是一个...

    基于嵌入式Linux的视频循环录制系统.pdf

    视频循环录制是指在特定的时间段内循环录制视频的过程。这种技术广泛应用于交通监控、安防监控、医疗监控等领域。 ARM9处理器 ARM9处理器是一种低功耗、低成本的微处理器,广泛应用于嵌入式系统中。ARM9处理器...

    C#实现国产Linux视频录制生成mp4 银河麒麟、统信UOS

    C#实现国产Linux视频录制生成mp4 银河麒麟、统信UOS

    SuSELinux参考

    - **摄像头和motv**:通过摄像头和motv,用户可以在Linux下录制视频或进行视频通话,提供了丰富的多媒体交互手段。 - **nxtvepg-PC的电视杂志**:nxtvepg是一款EPG(电子节目指南)软件,用于展示电视节目的时间表...

    linux下的视频录制软件xvidcap.docx

    Linux下的视频录制软件xvidcap是一款专为Linux用户设计的屏幕录制工具,它能够记录用户的屏幕活动,并将其保存为多种常见的视频格式,如avi、mpeg、asf、flv、swf、mov等,适用于各种用途,比如产品演示、教学视频...

    linux下的视频流处理源代码

    这个压缩包包含了几个核心的源代码文件,对于理解Linux下视频流的处理流程非常有帮助。接下来,我们将深入探讨这些文件以及它们所涉及的关键知识点。 首先,`DVB_I2C.C`和`DVB_I2C.H`是与I2C(Inter-Integrated ...

    Linux上Qt-OpenCV采集摄像头视频并显示

    Linux下用qt OpenCV采集摄像头视频并显示,绝对可以运行,不卡,窗口可任意拖动。参见http://blog.csdn.net/yanzi1225627/article/details/8768822

    嵌入式linux下QT开发 Camera摄像头采集视频源码

    在嵌入式Linux环境下,使用QT进行Camera摄像头采集视频的开发是一项常见的任务,尤其是在物联网、智能家居、自动驾驶等领域的应用中。QT是一个强大的图形用户界面框架,而Camera接口则提供了访问和控制摄像头的能力...

    linux-x64平台c++使用海康威视SDK调用摄像头

    linux-x64平台c++使用海康威视SDK调用摄像头

    USB Camera V4L2 视频录制——ubuntu(1)

    USB Camera V4L2 视频录制在Ubuntu操作系统中的实现是一项关键的技术,它涉及到计算机视觉、多媒体处理和Linux系统编程等多个领域。V4L2,全称Video for Linux Two,是Linux内核提供的一种用于访问视频设备(如USB...

    linux下6410平台视频硬编码示例

    在Linux下,开发者可以利用内核驱动和用户空间库来操作MFC,实现视频的播放、录制和回放功能。 硬编码H.264是目前广泛应用的编码标准,尤其在高清视频领域。H.264提供高效的数据压缩能力,能在较低带宽下传输高质量...

    Linux下海康监控视频QTdemo源码

    在Linux环境下,开发和操作海康监控视频应用是一项常见的任务,尤其对于系统集成商和安全监控领域的专业人士来说。本文将详细解析"Linux下海康监控视频QTdemo源码"的相关知识点,帮助读者深入理解如何在Linux系统中...

    luvcview源代码linux摄像头视频采集

    《luvcview源代码在Linux下实现摄像头视频采集详解》 luvcview是一款开源的Linux摄像头视频采集工具,尤其适用于ARM架构的开发板,如OK6410。这款软件不仅能够显示摄像头视频,还具备拍照和录像等功能,极大地拓展...

    Linux CCTV

    2. **视频捕捉库**:如`v4l2`(Video for Linux Two)接口,它是Linux系统下处理视频输入输出的主要API,允许应用程序访问摄像头和其他视频设备。 3. **流媒体服务器**:如`Motion`或`Gstreamer`,它们可以捕获、...

    uvc驱动 linux下摄像头驱动

    开发者可以通过V4L2 API来实现捕获视频流、录制视频、实时视频处理等功能。当UVC驱动与V4L2接口结合时,用户可以方便地在Linux下进行摄像头相关的开发和应用,例如视频会议、监控系统等。 "支持的摄像头列表可在...

    linux下ffmpeg获取视频流

    在Linux环境下,FFmpeg是一个强大的命令行工具,用于处理各种多媒体文件,包括音频、视频以及图像。它提供了从录制、转换到流式传输的一站式解决方案。本篇将深入探讨如何使用FFmpeg在Linux系统中获取视频流。 一、...

    QT C++ ffmpeg 调用usb 摄像头显示 并录制 H264录制视频

    在本文中,我们将深入探讨如何使用QT C++和FFmpeg库来调用USB摄像头,实现实时显示视频流,并进行H264编码的视频录制。FFmpeg是一个强大的开源多媒体处理框架,支持多种编码、解码、转换和流化功能。QT C++则是一个...

Global site tag (gtag.js) - Google Analytics