在 Linux 中使用"avconv"工具录制计算机桌面视频和音频

简介:

在 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。输入下面命令即可:

 
 
  1. $ sudo apt-get update
  2. $ sudo apt-get install libav-tools

下载Avconv工具

下载Avconv工具

注意: 如果从默认仓库下载的话, ‘avconv’ 的版本可能比较老。 因此我们推荐你拉取最新的git官方版本。

 
 
  1. $ sudo apt-get install yasm
  2. $ git clone git://git.libav.org/libav.git
  3. $ cd libav
  4. $ ./configure
  5. $ make
  6. $ sudo make install

注意: 你应该运行 ‘./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"来播放你录制的视频。

 
 
  1. $ avplay $HOME/output.avi

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

播放录制的文件

播放录制的文件

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

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

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

 
 
  1. $ arecord -l

结果类似这样:

检查音频输入源

检查音频输入源

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

 
 
  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. 如果只想录制音频的话,使用下面的命令。

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

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

录制桌面音频

录制桌面音频


原文发布时间:2014-11-27

本文来自云栖合作伙伴“linux中国”
目录
相关文章
|
16天前
|
存储 Linux Android开发
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。
|
20天前
|
Web App开发 安全 Linux
FFmpeg开发笔记(二十六)Linux环境安装ZLMediaKit实现视频推流
《FFmpeg开发实战》书中介绍轻量级流媒体服务器MediaMTX,但其功能有限,不适合生产环境。推荐使用国产开源的ZLMediaKit,它支持多种流媒体协议和音视频编码标准。以下是华为欧拉系统下编译安装ZLMediaKit和FFmpeg的步骤,包括更新依赖、下载源码、配置、编译、安装以及启动MediaServer服务。此外,还提供了通过FFmpeg进行RTSP和RTMP推流,并使用VLC播放器拉流的示例。
33 3
FFmpeg开发笔记(二十六)Linux环境安装ZLMediaKit实现视频推流
|
7天前
|
存储 Prometheus 监控
Linux技术工具:bpftrace介绍
Linux技术工具:bpftrace介绍
15 7
|
9天前
|
监控 算法 Linux
探索Linux中的lz4命令:高效的数据压缩工具
**探索Linux中的LZ4工具:快速数据压缩。LZ4算法提供高速压缩与解压缩,适合实时数据处理。命令行工具如`lz4c`用于文件压缩(`lz4c file.txt compressed.lz4`)和解压缩(`lz4c -d compressed.lz4 decompressed.txt`)。特点是速度快、低内存占用,可选压缩级别。注意命令的实际形式取决于安装的实现,使用前应查阅文档。**
|
5天前
|
Linux 数据处理
Linux中的numfmt命令:数字格式化的强大工具
**numfmt命令在Linux中用于数字格式化,如转换进制、添加千位分隔符、处理字节单位。它支持从文件读取数字并能自定义分隔符、小数位数。例如:`numfmt 12345` 输出12,345(十进制),`numfmt -b 255` 输出11111111(二进制),`numfmt --to=iec 1000000` 输出976.6K(字节单位)。使用时注意选项组合及单位标准。**
|
12天前
|
存储 编解码 Ubuntu
【QT】linux下alsa库的移植和QT中音视频的处理&笔记
【QT】linux下alsa库的移植和QT中音视频的处理&笔记
|
12天前
|
Linux 数据处理
Linux命令`install`详解:不仅仅是安装工具
`install`命令在Linux中并非仅用于安装软件,而是用于精确复制文件和目录,设置权限及所有权。它能创建目标目录、处理符号链接并保留时间戳。例如,`install -m 644 source.txt /dest`用于复制文件并设置权限,`install -d -m 755 /dest/dir`创建目录。使用时要注意权限设置,避免误操作,并记录命令以备恢复。
|
13天前
|
Linux Shell 数据处理
探索Linux的`infokey`命令:终端键绑定的查询工具
探索Linux的`infokey`命令用于查询终端键绑定。它显示按键如何映射到命令,帮助用户理解终端行为。`infokey`与`ncurses`库配合,提供查询、清除和定制输出的功能。例如,`infokey -d`显示所有键绑定,`infokey -k "\e[11~"`检查F1键绑定。使用前确保安装了`ncurses`库,注意终端兼容性和权限问题。定期检查键绑定,备份配置,阅读文档以优化终端体验。
|
16天前
|
Linux 测试技术 开发者
【Docker项目实战】使用Docker部署instantbox临时Linux系统环境搭建工具
【6月更文挑战第13天】使用Docker部署instantbox临时Linux系统环境搭建工具
27 3
|
21天前
|
Linux Shell API
深入探索 `dbus-run-session`:Linux下的D-Bus会话管理工具
`dbus-run-session`是Linux下管理D-Bus会话的工具,它确保桌面环境和应用间的通信。当登录图形桌面时,D-Bus会话自动创建,支持应用和服务间的消息传递。通常不需要直接使用,但在特定情况下,可以通过`dbus-run-session bash`启动shell会话运行D-Bus相关命令。注意避免重复启动会话,勿以root运行,确保环境变量正确,可使用`--verbose`选项进行调试。了解其工作原理有助于解决D-Bus相关问题。