在Linux下使用avconv进行屏幕录像的教程

   Libav是一款跨平台的工具库,能够用来处理多媒体文件、流和协议。它最初是源自ffmpeg。Libav带有一些工具,比如:

  Avplay: 一款视频音频播放器。

  Avconv: 能够记录多个设备输入源的一个多媒体转换器和视频音频录制器。

  Avprobe: 一个连接多媒体文件流并且返回关于这个文件流的统计信息的工具。

  Libavfilter: 一个Libav工具的过滤器(filtering)API。

  在这篇文章里面,我们就要展示如何通过'Avconv'程序在Debian/Ubuntu/Linux Mint发行版上录制Linux桌面视频音频。

  第一步:下载 Avconv 工具

  1. avconv是 “libav-tools” 的一部分, 可以通过官方的基于debian的仓库下载,比如Mint、Ubuntu。输入下面命令即可:

  代码如下:

  $ sudo apt-get update

  $ sudo apt-get install libav-tools


  注意: 你应该运行 ‘./configure –help’ 来列出所有的可选配置选项并且安装相应的解码器和库,你还需要做很多工作来解决依赖问题。

  也要注意,如果你是从源代码编译的,就需要使用sudo avconv而不是avconv来运行这个工具。

  第二步:开始录制桌面视频

  2.一切就绪,现在可以通过运行下面的命令录制你的视频了:

  代码如下:

  $ avconv -f x11grab -r 25 -s 1920x1080 -i :0.0 -vcodec libx264 -threads 4 $HOME/output.avi

  简单解释一下这个命令:

  avconv -f x11grab 默认从X服务捕捉画面。

  -r 25 这是你需要的视频帧率,可以自行设置。

  -s 1920×1080 是你的系统的桌面分辨率,要设置成你当前桌面的分辨率,这一点非常重要。

  -i :0.0 我们要记录的位置(X 服务输出端口),设置成这样就可以了。

  -vcodec libx264 我们用来录制视频的编码器。

  -threads 4 线程数,可以根据情况更改。

  $HOME/output 输出的目标文件路径。

  .avi 使用的视频格式,可以换成 “flv”、“mp4″、 “wmv”、 “mov”、 “mkv”等。

  3.在运行命令之后,就会在terminal上自动运行一个进程进行记录,按"Ctrl+C"键来终止记录。


  4. 现在,你可以使用VLC或者其他的播放器,或者使用来自Libav包里的播放器"avplay"来播放你录制的视频。

  代码如下:

  $ avplay $HOME/output.avi

  注意: 别忘了替换输出文件的路径为你自己的,录制效果还是很好的。


  这有一段我用 “avconv” 录制的视频 (墙外)。

  第三步: 开始录制桌面的音频和视频

  5. 如果也想同时录制音频,先运行这个命令,列出所有的音频输入源:

  代码如下:

  $ arecord -l

  结果类似这样:


  在我这里,我只有一个音频输入源,所以数量是1,这就是我使用如下命令来捕捉我的视频以及麦克风的音频的原因。

  代码如下:

  $ avconv -f alsa -i hw:1 -f x11grab -r 25 -s 1920x1080 -i :0.0 -vcodec libx264 -threads 4 output-file2.avi

  我修改了部分地方,下面做个简短的解释:

  -f alsa 一个从alsa设备捕捉声音的选项。

  -i hw:1 是一个从 “hw:1” 设备捕捉音频的选项,这个设备是我电脑上仅有的一个音频输入设备。

  注意: 如果你想用arecord -l显示的1之外的设备的话,别忘了替换 “1”。

  结束录制,再来一次“Ctrl + C” 就可以。

  第四步: 开始录制桌面音频

  6. 如果只想录制音频的话,使用下面的命令。

  代码如下:

  $ avconv -f alsa -i hw:1 out.wav

  7. 替换成 .mp3 等Libav支持的格式都可以,播放 out.wav就能听到你自己的声音了。

时间: 2025-01-21 10:19:53

在Linux下使用avconv进行屏幕录像的教程的相关文章

Linux下安装MySql+Apache2+PHP5.3.1教程

Linux下安装MySql+Apache2+PHP5.3.1教程 请先下载下面三个安装必要的软件   01-04php-5.3.1.tar.gz.html">php-5.3.1.tar.gz安装包下载 01-04httpd-2.2.14.tar.gz 安装包下载 01-04mysql-5.1.42-linux-i686-glibc23.tar.gz.html">mysql-5.1.42-linux-i686-glibc2   一.安装apache2-------------

在Linux下编译C或C++程序的教程_C 语言

从开始学习C/C++我们都在是windows下,那么如何(怎样)在linux中编译C/C++代码?在linux终端下(命令行中)编译译C/C++代码? 在任何linux分支下编译C/C++代码,如 Ubuntu ,Red Hat, Fedora ,Debian 以及其他linux分支上,我们需要安装一下软件包: 1.GNU C and C++ compiler collection 2.Development tools 3.Development libraries 4.IDE or text

Linux下NFS网络文件系统的基本使用教程

0.什么是NFS(Network FileSystem) NFS 就是 Network FileSystem 的缩写,最早之前是由 Sun 所发展出来的.他最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别的档案 ( share file ),所以,也可以简单的将他看做是一个 file server !这个 NFS Server 可以让你的 PC 来将网络远程的 NFS 主机分享的目录,挂载到本地端的机器当中,所以,在本地端的机器看起来,那个远程主机的目录就好象是自己的

Linux下多线程中的信号处理详解教程

在linux下,每个进程都有自己的signal mask,这个信号掩码指定哪个信号被阻塞,哪个不会被阻塞,通常用调用sigmask来处理.同时每个进程还有自己的signal action,这个行为集合指定了信号该如何处理,通常调用sigaction来处理. 使用了多线程后,便有些疑问: 信号发生时,哪个线程会收到是不是每个线程都有自己的mask及action每个线程能按自己的方式处理信号么 首先,信号的传递是根据情况而定的: 如果是异常产生的信号(比如程序错误,像SIGPIPE.SIGEGV这些

使用Python编写一个在Linux下实现截图分享的脚本的教程_python

引子 Linux下不支持QQ等功能丰富的IM,虽然可以通过wine运行QQ2012,但是还是喜欢在gtalk群中聊天,gtalk群不支持图片方式,这就要靠我们大家自己来解决了,eleven开放了一个Image上传和显示接口,提供了使用curl来解决,但是我们公司的网络使用squid禁止了curl的访问,所以整天看他们这么爽的分享图片我也不甘心阿,所以就使用Python写了一个分享图片的脚本实现 使用scrot截图,然后使用urllib2库上传图片,如果存在PyQt4库则会将结果放到剪贴板上,如果

linux下awk命令语法及使用实例教程

linux awk命令使用实例,awk是一种文本处理工具,在linux shell下尤为突出, 一个awk脚本通常由:BEGIN语句块.能够使用模式匹配的通用语句块.END语句块3部分组成,这三个部分是可选的.实例: awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file BEGIN语句块在awk开始从输入流中读取行之前被执行,这是一个可选的语句块,比如变量初始化.打印输出表格

Linux下Apache+mysql+PHP运行环境搭建教程

 今天因为工具需要需要配置一个web环境,由于初次接触在linux内核系统中配置Apache+mysql+PHP环境折腾了许久,下面整理了一篇安装教程与大家一起交流一下吧. PHP之服务器环境搭建安装软件准备 1. Apache224.tar.gz 2. php-5.2.9.tar.gz 3. mysql-5.1.54.tar.gz PHP和各个组件包 libxml2-2.6.30.tar.gz xml c语言版的解析器 libmcrypt-2.5.8.tar.gz 加密算法扩展库 zlib-1

Linux下安装IPython配置python开发环境教程_Linux

一.IPython简介 IPython 是一个交互式的shell,比默认终端好用,支持自动缩进,并且内置了很多有用的功能和函数.可以在任何操作系统上使用. 二.安装方法 1.pip 在线安装 pip install ipython pip install "ipython[notebook]" 2.下载安装 可以到GitHub 下载安装包,切换到目录下然后运行下面的脚本 Python setup.py install 三.简单使用 打开Linux终端,在命令行中输入 root@Linu

linux下CentOS的系统安全配置详细教程

本文以CentOS 5.4为例进行说明,对于5.x版本应该都是适用的,其他版本的话主要是命令的路径不同,思路是一致的. 第一步.账户安全管理 1. 修改密码长度  代码如下 复制代码 #vi /etc/login.defs PASS_MIN_LEN 18 2. 创建一个普通用户账号并设置密码,这样所有的操作都使用该普通账号进行  代码如下 复制代码 #useradd ru #passwd ru 3. Linux默认提供了很多账号,账号越多,系统就越容易受到攻击,所以应该禁止所有默认的被操作系统本