如何录制带有音频的桌面屏幕?

如何录制带有音频的桌面屏幕?

我曾经看到过这样一个问题:如何录制屏幕和内部音频?

这里给出的答案是安装recordmydesktop。我已经安装了,但它不起作用。选择屏幕区域后,它会给出错误消息。

另外,我有许多屏幕录像应用程序,但没有一个能完美运行。有些可以录制屏幕,但不能录制音频。例如 EasyScreenCast。我想知道如何录制带音频的屏幕。

答案1

如果 RecordMyDesktop 无法正常工作,您可以改用脚本。

该脚本可以找到在 GitHub 上

要使用,请将脚本复制到文本文件中(使用您最喜欢的文本编辑器)并将其保存在您的主目录中。授予脚本执行权限

chmod 755 name-of-your-file

然后你就可以轻松执行它了:

./name-of-your-file

剧本:

#!/bin/bash

NAME=screencast-$(date +%Y%m%d%H%M)
FPS=4
THREADS=3

echo "Click the window to capture and get ready!"

tmpfile=/tmp/screengrab.tmp.$$
trap 'touch $tmpfile; rm -f $tmpfile' 0

xwininfo > $tmpfile 2>/dev/null
left=$(grep 'Absolute upper-left X:' $tmpfile | awk '{print $4}');
top=$(grep 'Absolute upper-left Y:' $tmpfile | awk '{print $4}');
width=$(grep 'Width:' $tmpfile | awk '{print $2}');
height=$(grep 'Height:' $tmpfile | awk '{print $2}');
geom="-geometry ${width}x${height}+${left}+${top}"
echo "Geometry: ${geom}"
size="${width}x${height}"
pos="${left},${top}"
echo "pos=$pos size=$size"

sleep 2
ffmpeg -y -f alsa -ac 2 -i pulse -f x11grab -r $FPS -s $size -i ${DISPLAY-0:0}+${pos} -acodec pcm_s16le $NAME-temp.wav -an -vcodec libx264 -preset ultrafast -threads 0 $NAME-temp.mp4

echo Merge audio+video and encode to webm for YouTube? && read

ffmpeg -i $NAME-temp.mp4 -i $NAME-temp.wav -acodec libvorbis -ab 128k -ac 2 -vcodec libvpx -qscale 8 -me_method full -mbd rd -flags +gmc+qpel+mv4 -trellis 1 -threads $THREADS $NAME.webm

用法也演示在这个 YouTube 视频

编者注:请不要像视频中所示那样为文件提供存在安全风险的 777 权限。755 就足够了。

相关内容