如何在 x11grab 模式下将麦克风音频添加到 avconv 的视频中?

如何在 x11grab 模式下将麦克风音频添加到 avconv 的视频中?

我想创建一些截屏视频,我正在使用 avconv(最近的 ffmpeg 对应部分)来实现。

这是参考我使用的命令。我还参考了 avconv 手册页。由于某种原因,我无法将麦克风的音频录制到屏幕录像中。

-f麦克风音频开关是什么?我试过了-f jack,但显示错误消息。

我不确定我的电脑是否安装了麦克风音频驱动程序。我使用的命令如下:

avconv -f x11grab -f jack -s hd1080 -r 30 -i 0:0  screencast.mov

我收到的错误信息是:

Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
exec of JACK server (command = "/usr/bin/jackd") failed: No such file or directory
jack server is not running or cannot be started
[jack @ 0x9b6dc80] Unable to register as a JACK client
0:0: Input/output error

答案1

确保麦克风已正确插入。您也可以使用 Ubuntu 上的“录音机”测试您的录音设置。

现在,在终端上执行以下命令,将 1366x786 替换为您的屏幕分辨率。

avconv -f alsa -i pulse -f x11grab -r 30 -s 1366x768 -i :0.0 -vcodec libx264 -preset ultrafast -threads 4 -y myscreencast.mp4

如果您经常使用 avconv 进行截屏录制,您可能希望避免每次都输入上述命令(在这种情况下,请执行以下操作):

将下面给出的脚本保存在 ~/Videos/ 中,文件名为screencast

#!/bin/sh
echo "Enter the output file name: "; read name

fullscreen=$(xwininfo -root | grep 'geometry' | awk '{print $2;}')

avconv -f alsa -i pulse -f x11grab -r 30 -s $fullscreen -i :0.0 -vcodec libx264 -preset ultrafast -threads 4 -y $name

做,chmod +x screencast

现在,双击屏幕录像文件并“在终端中运行”输入您要制作的视频的名称(文件名和扩展名,例如:myvideo.mkv 或 myvideo.mp4)。

最后,完成屏幕录制后,^C在终端中执行(contol+c)。

您的视频将保存在~/Videos/ 答对了!!!

答案2

删除-f jack并尝试-f alsa -i plughw:1,0

您可能需要用小于 3 的某个数字 (*) 替换 1 和 0 (可能-f alsa -i plughw:0,0,或-f alsa -i plughw:0,2...)

这在 ffmpeg 上有效。希望它也能在 avconv 上有效

(注:jack 是一种声音系统的名称,是操作系统中处理音频的一部分。alsa 是另一种声音系统。我的答案使用 alsa 只是因为这是我很久以前从网上某个地方复制过来的方法 =P)

(*)这些数字与你的声卡编号以及声卡中的设备编号有关

相关内容