屏幕录像的功能对于分享游戏攻略、演示电脑软件的操作是必不可少的。在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. js 冒泡 捕获

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> ...

  2. Object-c学习之路十一(NSDate和反射)

    挺简单啥也不说了直接上代码(NSDate和反射) // // main.m // NSNumberAndNSValue // // Created by WildCat on 13-7-26. // ...

  3. cocos2dx在Eclipse下编译报错:Cannot find module with tag 'CocosDenshion/android' in import path

    在Eclipse下编译cocos2dx项目,报错如下: Android NDK: jni/Android.mk: Cannot find module with tag 'CocosDenshion/ ...

  4. 利用WCF与Android实现图片上传并传参

    利用WCF与Android实现图片上传并传参 最近做一个项目后端使用WCF接收Android手机拍照并带其它参数保存到服务器里:刚好把最近学习的WCF利用上,本以为是个比较简单的功能应该很好实现,没想 ...

  5. requestScope含义

    requestScope表名一个http请求的整个生命周期,它只是一个定义而已,不是一个对象. ${requestScope.info}就等价于request.getAttribute("i ...

  6. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  7. Oracle日志文件的管理与查看

    --Oracle日志文件管理与查看 select * from v$sql (#查看最近所作的操作) --select * fromv $sqlarea(#查看最近所作的操作) -- 1.查询系统使用 ...

  8. D3DXCreateTextureFromFileInMemoryEx函数

    注:限于翻译水平限制,详情请查阅MSDN D3DXCreateTextureFromFileInMemoryEx 函数 从内存文件创建一个纹理,这是个比D3DXCreateTextureFromFil ...

  9. EM算法详解

    EM算法详解 1 极大似然估计 假设有如图1的X所示的抽取的n个学生某门课程的成绩,又知学生的成绩符合高斯分布f(x|μ,σ2),求学生的成绩最符合哪种高斯分布,即μ和σ2最优值是什么? 图1 学生成 ...

  10. Entity Framework 之 Code First

    使用NuGet助您玩转代码生成数据————Entity Framework 之 Code First [前言] 如果是Code First老鸟或者对Entity Framework不感兴趣,就不用浪费 ...