web-dev-qa-db-ja.com

デスクトップ画面を音声で記録する方法は?

私はこの質問を見ました: 画面と内部オーディオを記録する方法?

ここでの答えは、recordmydesktopをインストールすることです。インストールしましたが、機能しません。画面領域を選択した直後にエラーメッセージが表示されます。

また、多くのスクリーンレコーダーアプリケーションがありますが、どれも完全に機能しません。画面を記録するものの、音声を記録しないものもあります。例:EasyScreenCast。画面を音声で記録する方法を知りたい。

1
Lovely

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で十分です。

1
Amit Upadhyay