屏幕录像的功能对于分享游戏攻略、演示电脑软件的操作是必不可少的。在Windows下可能一般的用户就下载盗版的商业软件来做了。而在GNU/Linux操作系统下,则有现成的自由软件可供使用,只不过没有图形界面罢了,但也同样方便有效。更何况,这一点对于已经入门的Linux用户来说也不算什么难题。本文介绍如何使用recordmydesktop进行屏幕录像。

软件包的安装就不用说了。需要提及一点的是,在使用recordmydesktop之前,还需要安装pavucontrol(PulseAudio Volume Control)。否则,所得的视频只有图像而没有声音,无论怎么设置声音选项中的device都不行。pavucontrol简介如下:

PulseAudio Volume Control (pavucontrol) is a simple GTK+ based volume control tool (mixer) for the PulseAudio sound server. In contrast to classic mixer tools this one allows you to control both the volume of hardware devices and of each playback stream separately. It also allows you to redirect a playback stream to another output device without interrupting playback.

然后,运行pavucontrol,在其中的“Recording”选项卡中将声源选为“Monitor of Built-in Audio Analog Stereo”,则可以录制电脑上正在播放的音频。而若选择“Built-in Audio Analog Stereo”,则会录制由麦克风输入的声音。需注意的是,一定要先开启录音程序,这些设置选项才会出现。具体如下图所示:

接下来,就可以运行recordmydesktop命令录制屏幕了。其中所用参数的含义不言自明。需注意的是,--device选项的值为pulse。

recordmydesktop --display :0.0 -x 1728 -y 156 --width 1024 --height 768 --device pulse --overwrite -o wesnoth-under-the-burning-sun.ogv

录制bsnes游戏时,由于其默认的帧率为60,所以在下面的命令中,--fps选项也需要指定一下。同时,使用--s_quality选项设置了声音的质量为最高:

recordmydesktop --display :0.0 -x 1845 -y 278 --width 796 --height 581 --fps 60 --device pulse --s_quality 10 --overwrite -o bsnes.ogv

为了方便知晓需要被录像窗口的大小与位置,可以调用自己写的Sawfish函数display-window-paras来显示出窗口信息。该函数目前被绑定到了Super-e快捷键上。该函数的内容如下:

;; Display window position and dimension
(defun display-window-paras ()
"Display the position, dimension and group ID of the current window."
(interactive)
(let* ((cur-win (input-focus))
(win-width (car (window-dimensions cur-win)))
(win-height (cdr (window-dimensions cur-win)))
(win-x (car (window-position cur-win)))
(win-y (cdr (window-position cur-win))))
(display-message
(concat "Name: " (window-name cur-win) "\n"
"Dimension: " (number->string win-width) "x" (number->string win-height) "\n"
"Position: " (number->string win-x) "x" (number->string win-y) "\n"
"Group ID: " (number->string (window-actual-group-id cur-win)))
alert-msg-attrib))) (bind-keys window-keymap
"Super-e" `(display-window-paras))

执行display-window-paras后,其显示出的信息如下:

需要结束录像时,在终端窗口按Ctrl+c向recordmydesktop发现退出信号,在其保存完视频文件后便自动退出。接下来,需要将ogv格式的视频转化为常见的格式,如mp4。一个需要解决的问题是如何让声音与图像保持同步。目前是使用ffmpeg进行格式转换的(mencoder经试用后效果不好):

ffmpeg -i input_file.ogv -acodec libmp3lame -acodec ac3 -ab 128k -ac 2 -vcodec libx264 -preset slow -crf 22 -threads 4 output_file.mp4

使用recordmydesktop进行屏幕录像的更多相关文章

  1. Linux下使用RecordMyDesktop进行屏幕录像

    近期我们在评估给用户提供视频教程的可能性,以此来展示某些用视频才能更好表达的教程.在挖掘这个问题的时候,我们发现极丰富的可用于屏幕录像的工具.这些程序大体上特性的区别有:视频质量,性能,兼容性.这在此 ...

  2. Linux平台屏幕录像工具RecordMyDesktop

    如果你把Linux桌面效果自定义得很漂亮,是不是很想录下来和其他人一起分享呢?RecordMyDesktop完全满足需要,我期待这么一个软件很久了,以前也一直没有找到合适的. 以后每次发Ubuntu的 ...

  3. linux 屏幕录像(recordmydesktop)

    需求:命令行工具进行屏幕录像ffcast ffmpeg 简单点的是recordmydesktop. 1. 安装: apt-get install gtk-recordmydesktop recordm ...

  4. win7 audio repeater 虚拟声卡 屏幕录像专家

  5. Camtasia Studio屏幕录像安装与破解

    Camtasia Studio汉化版是一款功能强大的屏幕录像工具,能在任何颜色模式下轻松地记录屏幕动作,包括影像.音效.鼠标移动轨迹.解说声音等.Camtasia Studio具有强大的视频播放和视频 ...

  6. 屏幕录像专家V7.5(完美破解版,无水印)下载

    分享一个屏幕录像工具.屏幕录像专家V7.5(完美破解版,无水印).经测试可破解使用. 破解注册 点击安装.EXE,安装软件. 点击安装好的屏幕录像专家,会给你一个机器码,要你注册,复制下这个机器码(下 ...

  7. Ubuntu下屏幕录像、后期处理不完全攻略

    提要 如果要做成果展示或者效果演示,通常需要录取屏幕生成视频文件,在windows中我们可以用屏幕录像专家在录像, vegas 来做后期处理,Ubuntu可以么? 答案时当然可以!虽然第一次用觉得有点 ...

  8. 屏幕录像专家2014 v0318 免费版

    软件名称: 屏幕录像专家2014软件语言: 简体中文授权方式: 免费试用运行环境: Win8 / Win7 / Vista / WinXP软件大小: 7.9MB图片预览: 软件简介:屏幕录像专家201 ...

  9. 用JAVA捕获屏幕、屏幕录像、播放

    http://blog.csdn.net/njchenyi/article/details/447554 用JAVA捕获屏幕.屏幕录像.播放 标签: javaexceptionimageimportn ...

随机推荐

  1. JAVA实现数据库数据导入/导出到Excel(POI)

    准备工作: 1.导入POI包:POI下载地址http://mirrors.tuna.tsinghua.edu.cn/apache/poi/release/src/(重要) 如下 2.导入Java界面美 ...

  2. JavaEE:XML解析

    XML解析技术概述1.XML 技术主要企业应用1)存储和传输数据 2)作为框架的配置文件2.使用xml 存储和传输数据涉及到以下两点1)通过程序生成xml2)读取xml 中数据 ---- xml 解析 ...

  3. .NET依托CLR进行的内存的管理

    看了http://www.cnblogs.com/liulun/p/3145351.html  不错,补习下相关技术.. 正文: .NET依托CLR进行的内存的管理 有了CLR 基本不需要担心.net ...

  4. .NET对象占内存多少

    .NET对象占内存多少 一直有一个小小的疑惑——.NET一个对象或者一个集合占多少内存?有没有很快速的方法获取,而不是简单的估计分析对象大小? 查了MSDN,和一些其他人的分析,得到解决是托管代码对象 ...

  5. java applet初探之计算器

    这里是用java写的一个计算器,用appllet的方式在浏览器中运行,如果电脑上装有java运行环境jre就能一试.将html代码保存为*.html(名称能够自定),applettest编译为clas ...

  6. C语言之字符集、ASCII码和sizeof运算符

    一 字符集和ASCII码 结论:字符本质上也是一个整数,每个字符都有唯一一个与之对应的整数, 比如说小写的a对应97,b对应98,c对应99,大写的A对应65,B对应66,C对应67 所以字符对应的那 ...

  7. 程序集和反射(C#)

    这里我又唠叨几句,大家在学习的时候,如看书或者看视频时觉得非常爽,因为感觉基本都看得懂也都挺容易的,其实看懂是一回事,你自己会动手做出来是一回事,自己能够说出来又是另一回事了.应该把学到的东西变成自己 ...

  8. LocalDateTime返回的是Local时间

    LocalDateTime返回的是本地时间,比如 LocalDateTime startDateTime = LocalDateTime.of(2016, 9, 18,00, 00); 返回的时间格式 ...

  9. Elasticsearch 5.0 磁盘空间节省策略的认识

    前言:本文是当时QQ群员讨论磁盘空间如何优化,我搜了下类似的文章,结合官方文档做了一些总结 参考文章1 参考文章2 如果你有疑问,可以联系我参与讨论,或者去原文查看. NOTE: 磁盘空间节省问题,是 ...

  10. How to use dt.Rows.Cast<System.Data.DataRow>().Take(n)

    参考文章:http://stackoverflow.com/questions/2787458/how-to-select-top-n-rows-from-a-datatable-dataview-i ...