[LAU] JACK screencasting guide

allcoms allcoms at gmail.com
Tue Mar 29 09:44:09 UTC 2011


I've just wrote a HOWTO for the AV Linux forums on how I created my A3
MIDI vid which is basically a refinement of Jeremy's JACK screencast
tutorial with a couple of extra tips bolted on:

http://www.remastersys.com/forums/index.php?topic=1362.0




JACK Audio Screencasting

(aka The making of 'Introduction to Ardour 3.0 MIDI')

This tutorial is largely based upon an earlier one by AutoStatic here:

http://apps.linuxaudio.org/wiki/screencasttutorial

Unfortunately, that didn't quite work for me so here I present what I
had to do to get a nice JACK-friendly screencast captured.

You will need a couple of packages not included by default in AV Linux
4.2, namely the ssh server and the Xephyr nested X server


apt-get install openssh-server xserver-xephyr fluxbox



Fluxbox is entirely optional, its just what I'm using in this example.
Before running Xephyr, our 'nested X server' which will be our desktop
to capture, you need to start the ssh server, so do so as root:


/etc/init.d/ssh start



Then I run the following commands to to start Xephyr then launch
fluxbox within it - just replace 'iatn' with your username:


Xephyr -ac -host-cursor -screen 1280x720x24 -dpi 96 -br
-reset-terminate 2> /dev/null :1 &
DISPLAY=:1.0
ssh -XfC -c blowfish iatn at localhost fluxbox


Note that after typing 'DISPLAY=:1.0' you need to issue a
'DISPLAY=:0.0' to launch programs on your regular desktop again. Now
you can run a script like:

-------------

#!/bin/bash

DATE=`date +%Y%m%d`
TIME=`date +%Hh%M%S`
export DISPLAY=:1.0

# Start screencast
xterm -display :0.0 -e jack_capture --port system:capture_1 --port
system:playback_1 ~/a3midvid/a3midvid_audio_$DATE-$TIME.wav &
ffmpeg -an -f x11grab -r 30 -s 1280x720 -i :1 -vcodec libx264 -vpre
lossless_ultrafast -threads 2
~/a3midvid/a3midvid_video_$DATE-$TIME.mkv


--------------


That should capture the video on your Xephyr desktop as well as
creating a stereo wav with one channel consisting of a JACK output
channel and the other one capturing the mic connected to your first
mic input.

To fix the keyboard problem (like arrow keys not working) under
Xephyr, start Xephyr/fluxbox/xterm, input something via the keyboard
to Xephyr and then in a terminal on the host X server (not in Xephyr)
do:


DISPLAY=:0.0
xkbcomp $DISPLAY :1



This copies the XKB settings from the encompassing X server to the
Xserver under Xephyr.

When I imported my video and audio streams into KDEnlive I found I had
to displace the audio stream about 9 frames behind the video but this
value could well vary depending on numerous factors so some
experimentation may be required to get the audio and video to sync
properly.


More information about the Linux-audio-user mailing list