[LAU] Desktop recorders - was "Another Reality" LP

Len Ovens len at ovenwerks.net
Fri Jun 7 21:07:42 UTC 2013

On Fri, June 7, 2013 1:14 pm, Lorenzo Sutton wrote:
> On 06/05/2013 10:42 AM, Atte André Jensen wrote:
>> On 05/28/2013 10:35 PM, Len Ovens wrote:
>>> As a UbuntuStudio team member, I would be very interested in your
>>> findings. We would like to include a desktop recorder, but would prefer
>>> the best we can ship. The xvidcap page says that xvidcap is an OSS
>>> audio
>>> application.
>> I wanna join the choir.
>> I tried the screen casters I know of xvidcap, kazam and recordmydesktop,
>> and non of them are really working (terribly loose description, I know).
> Recently, the only effective way I've found to  do screen recording with
> jack is using ffmpeg - yet this must be the 'original' ffmpeg not libav
> which is now packaged e.g. in Debian, which I couldn't get to work with
> jack - And this needs to be compiled by hand on debian [1]

Now if libav would just stop shipping with links from ffmpeg, debian could
ship both...

> This is the script I use (adapted from someone else (TM) I found online):
> ffmpeg -f jack -ac 2 -i ffmpeg -f x11grab -r 30 -s 1280x800 -i :0.0
> -acodec pcm_s16le -vcodec libx264 -preset ultrafast -threads 0 output.avi
> Advantages:
> 	- it works well (with jack)
> 	- very good quality
> 	- good audio/video sync
> Disadvantages:
> 	- you have to manually calculate the screen size and rectangle (-s and
> -i switches)

A script that runs xrandr could probably do that automatically. xrandr has
the screen sizes (the size of each monitor with position as well as the
size of combined screen size in the case of two monitors). I think there
are tools that will give a window size and position as well and most of
the screen capture tools allow "rubberbanding" a rectangle, so that should
not be hard either... I am pretty sure I could figure that out in
tk/tcl... my python is not that advanced yet.

> 	 - you need to connect your jack output(s) to the ffmpeg jack input
> after you've started recording

jack.plumbing from the jack-tools package might make that less painful.
Possibly some of the session managers too.

> 	- fairly big output file

Most of us have fairly big hard drives these days  ;)  maybe I just don't
do enough recording to make mine seem small.

There are enough scripting GUIs around (like tk/tcl and everything newer)
it would not be hard to create a GUI to wrap around all that and the
recoding below. The biggest stumbling block is a real ffmpeg. Did you have
to remove libav?

> For the last 'drawback' you can convert to a compressed video format
> such as webm. Recently I am use (again stolen, ehm, inspired from some
> online forum [2]):
> ffmpeg -y -i "$INFILE" -threads 8 -f webm -vcodec libvpx -g 120 -level
> 216 -profile 0 -qmax 42 -qmin 10 -rc_buf_aggressivity 0.95 -vb 2M
> -acodec libvorbis -aq 90 -ac 2 $OUTFILE
> This will give a nice webm video which is about 20% the filesize of the
> original avi
> Here is a quick short example of the final output:
> http://gnufunk.org/~lorenzosu/temp/ffmpeg_grab_test.webm
> Hope this helps
> Lorenzo.
> PS This (longer) was also created with the same technique:
> http://vimeo.com/36609964
> [1] I succeed on Debian wheezy amd64 following this:
> https://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
> [2] I actually found the source for this:
> http://ubuntuforums.org/showthread.php?t=1522381&p=9539218#post9539218 -
> thanks demizer
> _______________________________________________
> Linux-audio-user mailing list
> Linux-audio-user at lists.linuxaudio.org
> http://lists.linuxaudio.org/listinfo/linux-audio-user

Len Ovens

More information about the Linux-audio-user mailing list