Page 1 of 1

Script to record a window + audio in Linux (Solved)

Posted: Mon 25 Nov 2019, 22:05
by labbe5
https://lukas.zapletalovi.com/2019/11/s ... linux.html
Simple script to record a window and audio in Linux

#!/bin/bash

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

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"

ffmpeg -y -f pulse -ac 2 -i default -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 -threads $THREADS $NAME.webm

Posted: Tue 26 Nov 2019, 23:41
by don570
The script is listed on git
https://raw.githubusercontent.com/lzap/ ... cordwindow
___________________________________

press the key 'q' to go to the second stage of combining the two files.
_______________________________________________________

Posted: Sat 04 Jan 2020, 17:43
by takenp
The above ffmpeg command utilizes pulse audio server that is not present on the most puppies by default. Plus in most cases we just need to capture whole screen with sound/mic.

So here is just a single command line to achieve this goal on every puppy that has ffmpeg installed:

Code: Select all

ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 30 -s $(xwininfo -root | grep 'geometry'| awk '{print $2;}') -i :0.0 -acodec libmp3lame -ab 128k -vcodec libx264 -vpre lossless_ultrafast -threads 2 -y output.avi
to recognize which hw card/device numbers to use type

Code: Select all

aplay -l
and choose appropriate card and device number 0,0 or 0,1 etc.

have fun!

Posted: Thu 30 Jan 2020, 16:24
by soniabu
I tried the command but it answers me this:
Image

Posted: Thu 30 Jan 2020, 19:11
by takenp
[quote=":0.0: Invalid argument[/quote]

try remove -i :0.0

or

:0,0

Posted: Thu 30 Jan 2020, 21:55
by don570
replying to soniabu

I have a Dell 990 desktop machine and it can't record the audio at the same time as video.

________________________________________

Posted: Fri 14 Feb 2020, 16:38
by soniabu
thx all

Posted: Sat 15 Feb 2020, 02:38
by Flash
Thx for what? Is your problem solved?

Posted: Sat 22 Feb 2020, 20:35
by soniabu
yes solved, I use SSR in multimedia section on my bionicpup64.
here: http://murga-linux.com/puppy/viewtopic. ... 26#1049326