如何在Linux上创建截屏视频

想要在Linux上做一个截屏视频,但对工具和程序的选择感到不知所措吗?我们将介绍三种创建截屏视频的方法。快速简便的方式,硬核细粒度的方式,以及我们认为的最好的全能方式。

如何拍摄一部好的电影短片

要创建截屏视频,您必须记录桌面上正在发生的事情,以及您要添加到其中的评论。这需要能够从您的桌面录制视频,以及从Linux声音子系统录制音频,可能还需要从其他来源录制。

当你看一个好的录像带时,你会注意到解说或叙述恰到好处。它是抛光的。交付有信心和清晰度。当你制作一个录像带的时候,没有“嗯”和“啊”的余地。他们听起来很痛苦,而且会让你的录像带感觉很业余。这与你试图创造的效果正好相反。你想让你的听众觉得无论你在说什么,你都是权威。听起来你是在笨手笨脚地通过,这不是做这件事的方法。

正因为如此,许多更圆滑的截屏录像带将其音轨单独录制和编辑,然后混入屏幕视频中。“这是一个太大的话题,一篇小文章无法涵盖,所以我们将寻找同时录制音频和桌面视频的方法。”这并不意味着你注定要听起来像外行。有一些简单的技巧可以用来提高口头表达的质量。

最基本也是最有影响力的是剧本和练习。在你试着录制之前,先把你的录像带看几遍。做笔记,这样你就知道你想说什么,以及你想要引起特别注意的要点。不要因为“剧本”这个词而望而却步。它不需要是一份复杂的文档。一两页容易阅读的要点会有很大帮助。自相矛盾的是,你不想在应该说话的时候试图阅读剧本而分心。

把时间用在演练上。专业人士排练是有原因的。很难一步一步地通过你想要描述的主题,控制你用来进行屏幕录制的软件,并仍然提供良好的口头表现。

选一个好的麦克风(如果你愿意,还有摄像头)

你需要一些东西来录下你的声音。这意味着如果你还没有麦克风,那就买一个。如果你的笔记本电脑内置的功能足够好,那将是一个小小的奇迹。它不一定要花很多钱,但一个合理的外置麦克风,可以让你自然地说话,并以好的音量被录音,这是绝对的必备条件,而且它的支架会带来红利。

相关:播客的最佳麦克风

如果你想把自己拍下来,这样你就会出现在你的录像带里,你需要一台摄像机。如果它要记录的只有你的头和肩膀,这样你就可以在屏幕录像的一个角落的小窗口里看到你,那么你就不需要电影级的相机了。但你需要在笔记本电脑附带的基本内置网络摄像头的基础上再加一层。单独的相机意味着你可以把它放在你需要的地方。

自动对焦、自动调光和良好的分辨率传感器都是重要的因素。一台好等级的相机可能会有一个足以满足你需要的麦克风,这并不是不可能的。所以,如果你想买相机和麦克风,那就先买个相机,看看麦克风是否能胜任这项任务。

相关:视频会议、流媒体等的6个最佳网络摄像头

简短的无声片段:使用GNOME的内置记录器

值得一提的是,如果您使用GNOME桌面环境(DE),您可以直接访问DE中内置的简单屏幕记录器-但没有任何音频。如果你需要一段简短的、无声的视频剪辑,这就足够了。例如,可以创建一个小剪辑发送给某人,向他们展示复制bug所需的步骤,这将是完美的。

要开始在桌面上录制活动,只需按:

Ctrl+Shift+Alt+R

屏幕录制将立即开始。工具通知区域中将出现一个红色圆形指示器,靠近网络、声音和电源图标。

要停止录制,请使用相同的组合键:

Ctrl+Shift+Alt+R

记录指示器从通知区域移除。您的录像存储在~/Videos目录中,文件名带有时间戳。该文件的扩展名为“.webm”,表示它已以WebM视频格式录制。

如果要将录制上传到YouTube,则需要将其转换为MPEG-4(MP4)格式。我们很快就会看到如何使用另一个我们将介绍的名为“ffmpeg”的工具来实现这一点。

请注意,默认情况下,最大录制长度为30秒。您可以使用dconf编辑器对其进行调整。该设置位于org>GNOME>settings-daemon>plugins>media-key下。要调整的设置称为max-creencast-length。

轻松快捷:使用recordMyDesktop进行录制

recordMyDesktop是一个简单明了的屏幕和音频记录工具。它允许您记录桌面、桌面的一部分或特定的应用程序窗口。

要在Ubuntu上安装recordMyDesktop,请使用以下命令:

sudo apt-get install recordmydesktop gtk-recordmydesktop

要在Fedora上安装recordMyDesktop,请使用以下命令:

sudo dnf install recordmydesktop gtk-recordmydesktop

要在Manjaro上安装recordMyDesktop,请使用以下命令:

sudo pacman -Syrecordmydesktop gtk-recordmydesktop

用户界面非常简单。

默认情况下,recordMyDesktop将录制整个桌面。要录制桌面的一部分,请左键单击并在预览缩略图中拖动。这将定义用于录制的屏幕部分。要录制单个应用程序窗口,请单击“选择窗口”按钮,然后单击桌面上的应用程序窗口。

当您准备好录制时,请单击“录制”按钮。通知区域中将出现一个红色指示灯,靠近网络、声音和电源图标。

左键单击指示器,然后从菜单中选择“停止”以停止录制。录制由recordMyDesktop处理,以便可以保存。如果取消此过程,您的录音将丢失。

录制完成后,单击[另存为]按钮保存您的录屏。“文件保存”对话框允许您选择保存录制的位置。

录制为“.ogv”ogg视频格式。这是唯一提供的格式。要将文件转换为不同的视频格式,您可以使用我们将要讨论的下一个工具,即ffmpeg。

从命令行:ffmpeg

FFmpeg项目在2000年发布了它的第一个版本的ffmpeg实用程序。他们最初设想的有用的图形和视频转换程序已经远远超出了他们的想象。ffmpeg现在是一套功能非常强大的工具和编解码器,并被用于许多其他知名的应用程序,如VLC、Plex和Blender。

如果您需要进行一些音频或视频录制或格式转换,并且您想知道ffmpeg是否可以做到这一点,您可以不用再怀疑了。基本上,答案是肯定的。

ffmpeg有很多选择。这里有一个超过4000行的ffmpeg选项列表。如果你想做简单的格式转换以外的任何事情,丰富的功能确实会带来相当大的学习曲线。ffmpeg没有漂亮的前端,但它在接口方面的不足之处在于它在纯粹的功率、速度和灵活性方面弥补了这一点。因为它是命令行驱动的,所以您可以从脚本调用它。您可以记录无人参与命令的瞬时输出,或者记录无法重定向到文件中的GUI屏幕活动。

在我们的测试过程中,必须在Fedora 31和Ubuntu 18.04上安装Fffmpeg。它已经出现在Manjaro 18.1.0上。要在Ubuntu上安装ffmpeg,请使用以下命令:

sudo apt-get install ffmpeg

要在Fedora上安装它,需要添加两个存储库。此命令将注册第一个:

sudo dnf -y install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

此命令将注册第二个:

sudo dnf -y install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

现在可以使用以下命令安装ffmpeg应用程序:

sudo dnf -y install ffmpeg

如何用ffmpeg录制视频和音频

为(相对)简单起见,我们将用音频直接录制整个桌面。要做到这一点,我们必须向ffmpeg提供相当多的参数。我们可以使用一些实用程序来帮助我们找到其中一些值。

要确定可用的屏幕分辨率,我们可以使用xrandr。我们不需要为此命令提供任何参数:

xrandr

输出列出了所有可用的屏幕分辨率。

目前的分辨率是1920×1080,也是这台测试机上可用的最高分辨率。我们会利用这一点。

现在我们将找出这台测试机上存在哪些PulseAudio声源。我们将使用pactl实用程序并要求它列出源代码。语法非常简单,令人耳目一新:

pactl list sources

通过滚动查看详细的输出,我们可以看到有一个SOURCE#0,它是一个输出源。这意味着它会产生声音输出。

检查输出的其余部分会发现另一个称为1号源的源,这是一个输入源。

这意味着信号源#1接受声音输入。例如,这将来自麦克风。因此,我们将使用带ffmpeg的1号信号源,并通过麦克风录制我们的语音。

下面是整个ffmpeg命令。

ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0 -f pulse -ac 2 -i 1 output.mkv -async 1 -vsync 1

让我们来分析一下这一点:

-VIDEO_SIZE 1920×1080:设置视频采集大小。这是我们使用xrandr查找的值。 -帧速率25:设置每秒帧数的值。 -f x11grab:强制视频格式为特定类型。在这里,我们将输入格式设置为您的X服务器的输出。 -i:0.0:指定视频输入将来自主屏幕。 -f PULSE:将预期格式设置为PulseAudio。 -AC 2:设置两个音频通道。 -i 1:获取来自PulseAudio source#1的音频输入,这是我们使用pactl发现的值。 output.mkv:我们希望创建的文件的名称。 -异步1:设置音频同步方式。这是一个不推荐使用的参数,但我们在这里使用它是为了避免可以忽略的错误消息。 -vsync 1:设置视频同步方法,这是一个不推荐使用的参数,我们在这里使用是为了避免出现可以忽略的错误信息。

录制时,您可以在终端窗口中看到许多信息滚动。请最小化此终端窗口,或者将您正在讨论的应用程序的主窗口放在其上面,这样它就不会出现在您的屏幕视频中。

要停止录制,请在终端窗口中输入Ctrl+C。如果一切正常,您将看到来自ffmpeg的确认消息,报告它正在正常退出。

在ffmpeg命令中,我们没有在输出文件名上放置路径,因此它将在启动ffmpeg的目录中创建。在本例中,这是我们的主目录。

使用ffmpeg转换视频文件

我们之前注意到上传到YouTube的首选视频格式是MPEG-4。我们可以使用ffmpeg轻松地将“.mkv”转换为“.mp4”文件。我们说“转换”,但实际上,我们完全是在创建一个新文件。您的原始文件保持不变。

命令很简单。我们使用-i(输入)选项告诉ffmpeg使用原始文件作为输入。输出文件的文件扩展名告诉ffmpeg要创建什么类型的文件。

ffmpeg -i output,mkv output.mp4

将创建一个文件扩展名为“.mp4”的新文件。

要将使用Ctrl+Shift+Alt+R方法录制的截屏视频转换为MPEG-4视频格式,请使用以下命令:

ffmpwg -i "Screencast from 11-02-19 10:47:05.webm" output.mp4

功能强大但用户友好:使用OBS Studio

如果你正在寻找比recordMyDesktop功能更强大、比ffmpeg更容易驾驶的东西,开放广播软件工作室(OBS Studio)可以满足所有需求。

在Ubuntu上安装OBS Studio,命令如下:

sudo apt-get install obs-studio

使用以下命令在Fedora上安装OBS Studio:

sudo dnf install obs-studio

使用以下命令在Manjaro上安装OBS Studio:

sudo pacman -Sy obs-studio

如何在OBS Studio中使用源和场景

OBS Studio在应用程序底部有一个很大的工作区和一组窗格。

你从哪里开始呢?

为了让软件通过它的步调,我需要一个目标,一个我可以尝试实现的终点。看一个好的录像带,然后试着复制他们的作品似乎是明智的。我用作模板的录像带显示了一个桌面,上面有几个打开的应用程序。有一个小的插页窗口,显示了演示者的视图。有时,显示会更改为显示单个窗口的放大视图。这使得一个特定的细节得以讨论。“画外音提供了叙述。

所有这一切在OBS Studio中复制都出奇地容易,因为它的场景和源的概念。OBS中的源是产生声音或视频的东西。您的桌面、桌面上的窗口、网络摄像头、输出音频源和输入音频源(如麦克风)都是有效来源。

可以将多个源集合组合成一个场景。可以创建包含不同源组合的多个场景。只需单击鼠标即可在场景之间跳转。

要创建场景,请在“场景”窗格中单击鼠标右键,然后在上下文菜单中单击“添加”。然后在“添加场景”对话框中输入场景名称,然后单击“确定”按钮。

您创建的场景将列在“场景”窗格中。

我们已经创建了两个场景,一个用于桌面和网络摄像头复合视图,另一个用于终端窗口的放大视图。我们需要在这些场景中添加一些素材。我们将使用“放大终端窗口”场景。要向场景添加源,请在“场景”窗格中选择它,然后在“源”窗格中单击鼠标右键。在上下文菜单中单击“Add”(添加)。

该菜单允许您添加图像、音频输入和输出、应用程序窗口、视频源以及您可能希望包含在屏幕视频中的其他元素。我们要捕捉一扇窗户。单击“Window Capture(XComposite)”菜单选项。

在“Create/Select Source”对话框中,为源创建一个名称,然后单击“OK”按钮。

在“窗口捕获属性”对话框中,使用“窗口”下拉菜单选择要添加到场景中的窗口,然后单击“确定”按钮。

让我们重复一遍,然后为麦克风添加一个信号源。在“源”窗格中单击鼠标右键,然后在上下文菜单中单击“添加”。用来研究本文的测试机使用的是PulseAudio。如果您使用不同的方案,如高级Linux声音体系结构(ALSA),您将选择不同的选项。我们从菜单中选择“Audio Input Capture(PulseAudio)”(音频输入捕获(PulseAudio))。

在“Create/Select Source”(创建/选择源)对话框中,为源指定一个名称,然后单击“OK”(确定)按钮。

在“‘Audio Input Capture(Pulse Audio)’的属性”对话框中,使用“Device”下拉菜单选择您的麦克风所连接的声音设备。单击“确定”按钮。

您的“源”窗格现在应该有两个源,用于当前场景。

有很多微调可以应用于您的源代码。例如,在“音频混音器”窗格中,右键单击麦克风的设置图标将调出上下文菜单。

选择“Filters”将显示“Filters for‘Microphone’”对话框。

要添加筛选器,请在左侧窗格中单击鼠标右键,然后从上下文菜单中选择“Add”。每个过滤器都有可以调整的属性。

经过反复试验,我们选定了与测试麦克风配合良好的滤波器和设置。我们在清晰度和音量之间取得了很好的平衡,并减少了背景噪音。

创造第二个场景也同样容易。我们正在录制的桌面正在虚拟机中运行。通过在窗口中添加整个虚拟机正在运行的窗口,可以很容易地将其添加到场景中。网络摄像头被添加为视频源,并被拖动和调整大小以坐在显示屏的角落。以下是观众将收到的视图:

在两个场景之间移动非常简单,只需单击“场景”窗格中的场景名称即可。放大的终端场景在终端窗口中提供了Top命令的全屏视图。

虽然OBS Studio可以做到这一点,但它建议不要使用MPEG-4格式进行录制。如果出了什么差错,你的档案很可能会丢失。相反,他们建议您用FLV或MKV录制。

如果您需要以不同的视频格式传送您的截屏视频,OBS Studio可以为您进行转换,当然,您也可以使用ffmpeg。

灯光、摄像机、动作

你可能永远不会去好莱坞,但是如果你需要一个制作精良的录像带,Linux可以提供你需要的所有工具。

相关文章