[LAU] Screencasting with JACK [SOLVED!]

J. Liles malnourite at gmail.com
Fri Aug 9 01:54:29 UTC 2013


As some of you may recall, every time I've posted a demo video to LAD, I've
had to include a disclaimer excusing the poor quality due to a lack of
functional screencasting tools.

Well, it took a couple of weeks of hair pulling and many, many hours of
testing, but I finally arrived at a solution.

Anyone who wants to create a screencast and record audio via JACK *in
perfect sync* must do the following:

Get ffmpeg. Apply this patch to it:

https://github.com/original-male/FFmpeg/commit/d02509d04d396a98646ca81e9ba327a501486130.patch

Build it with vorbis and h264 support.

Then, start your favorite desktop environment. I use Xephyr for this.

Have jack running (at -r 48000)

Then run the following command:

ffmpeg -fflags +genpts+igndts -f x11grab -vsync 0 -r 30 -s 1920x1080 -i
:${DISPLAY}.+0,0 -vcodec h264 -f jack -ac 2 -r:a 48000  -i screencast
-acodec pcm_s16le -r:v 30 -vsync 2 -async 1 -map 0:0,1,0 -map 1:0 -preset
ultrafast -qp 0 "$FILE"

Where DISPLAY is the number of your X11 display and FILE is the filename
for the screencast. I use a .mkv extension for the matroska container.

Remember to connect the streams you want recorded to the 'screencast' JACK
inputs!

With this setup I'm able to record a full 30 FPS @ 1080P with audio in
perfect sync. Please share your results too. With some more evidence I
might have a good case to get ffmpeg to accept my patch.

Enjoy!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-user/attachments/20130808/21c9baf7/attachment.html>


More information about the Linux-audio-user mailing list