You are here: Home / VSXU VJ, Audio, Video, recording with recordmydesktop on OpenSuse 12.1

VSXU VJ, Audio, Video, recording with recordmydesktop on OpenSuse 12.1

This has not been easy to get working, so hopefully it helps others.

Overview

VSXU is a great real-time VJ (video dj) open source suite of apps.

However, it is more Ubuntu friendly than Suse friendly.

This article has two parts. Getting a working installation on Suse, and secondly, setting up to record both audio and video of vsxu sessions.

 

Installation

If I follow installation instructions here:

https://github.com/vovoid/vsxu

(scroll towards bottom for those instructions), I just end up with a bunch of segmentation faults.

One of the errors that has some more information than just segfault is:

vsxu_artiste: symbol lookup error: ./vsxu_artiste: undefined symbol: _ZN10vsx_engine21process_message_queueEP16vsx_command_listS1_bb

 

However, if I follow the older instructions, I get a working vsxu installation using these instructions:

http://www.vsxu.com/development/compiling-from-source

 

The developers said they have been planning to eliminate those instructions, so in case they do, here is a copy and paste:

What Works on Suse 12.1

Compiling from source

If you have compiled VSXu before, there have been a few changes/improvements from the 0.3.0 release and onwards. Here are the highlights:

  • A new project aids in compilation, for regular builds.
  • Windows compilation is not done on Windows anymore, it's done cross-compiled under GNU/Linux, this goes for modules as well. We'll show you how to set things up on linux though.
  • Instead of shipping libs/dll's needed for vsxu with the vsxu project these are now handled on a per-version basis in the "build" project.
  • In-source builds (./configure && make install) are now discouraged altough they are still possible.
  • Installers for Windows / GNU/Linux are now generated with the help of cpack.

 

Prerequisites for the build environment

We're assuming we're on a debian-based distro. We're sure you can adapt these commands for your own distro.

  • sudo apt-get install libglew1.6-dev
  • sudo apt-get install libglfw-dev
  • sudo apt-get install libpng12-dev
  • sudo apt-get install libftgl-dev
  • sudo apt-get install libjpeg8-dev
  • sudo apt-get install libpulse-dev
  • sudo apt-get install libxrandr-dev
  • sudo apt-get install make
  • sudo apt-get install cmake
  • sudo apt-get install g++
  • sudo apt-get install gcc
  • sudo apt-get install git-core

Then assuming your current working directory is your home directory, you can run these commands:

       mkdir vsxu-dev && cd vsxu-dev
       mkdir vsxu && cd vsxu
       git init
       git remote add origin git://github.com/vovoid/vsxu.git
       git pull origin master
       cd ..
       mkdir build && cd build
       git init
       git remote add origin git://github.com/vovoid/vsxu-build.git
       git pull origin master
       cd ..
       
      

You can do this anyway you like, the important point is that the directory structure must be something like this:

      vsxu-dev/vsxu
      vsxu-dev/build
      

Now, decide what architecture you want to build - there are a few different options.

        cd ~/vsxu-dev/build/linux32
        cd ~/vsxu-dev/build/linux64
        cd ~/vsxu-dev/build/win32
      

Then check out what options you have by running

ls -l

For the linux64 build for instance, there are the following scripts to help you out:

      prepare
      prepare-fmod
      prepare_opt
      prepare_usr
      
  • prepare - install to ~/vsxu-dev/build/[platform]/install
  • prepare-fmod - include the fmod plugin in the build and install to ~/vsxu-dev/build/[platform]/install
  • prepare_opt - install to /opt
  • prepare_usr - install to /usr

You can run any of these. But for now let's say we just want to mess around with local development, not really installing into /usr - then the following is a viable set of commands:

      ./prepare
      cd build
      make install
      cd ../install/bin
      export LD_LIBRARY_PATH=../lib
      ./vsxu_artiste
      

Hint: if you have multiple cores (who doesn't these days) you can engage them all in compilation by adding the -j8 (for 8 cores) flag to make like so:

        make -j8
      

This saves a lot of time.

 

Recording Audio & Video of VSXU Player Session

 

Will need recordmydesktop, and for ease of use, the GUI frontend of gtk-recordmydesktop ishelpful too, though not required.

I needed to play around with routing Pulse's audio to get better sound quality, otherwise it's recording over the microphone and sounds like it.

In my case, with an Asus G74S with:

  • Nvidia Geforce GTX 560M 2GB
  • Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz

 

Pulse Audio Volume Control

Using the PulseAudio Volume Control, I needed to change the defaults from:

  • HDA Nvidia Profile (Off)
  • Internal Audio Profile: (Analog Stereo Duplex)

Changed to (when recording):

  • HDA Nvidia Profile (Digital Stereo (HDMI) Output)
  • Internal Audio Profile (Off)

 

with vsxu_player loaded already, you will also see listed under recording:

vsxu:r

I used Amarok for playing my own composed audio files (mp3, wav, whatever).

 

RecordMyDesktop

Now, with vsxu_player loaded, but the music not yet running. Start up gtk-recordmydesktop.

The following settings selected:

Video Quality: 100

Audio Quality: 100 (sound quality check box enabled/checked).

Click the Advanced button for following settings:

Performance Tab

Frames per second: 30

Encode on the FLy - unchecked/disabled

Zero Compressions - checked/enabled

Quick subsampling - unchecked/disabled

Full shots of every frame (needed for 3d recording) - checked/enabled

 

Sound Tab

Channels: 2

Frequency: 44100

Device - default (previous it was DEFAULT and did not work that way on my system)

Not using jack in this instance (will try in the future, since I have Jack for other apps), so unchecked.

 

Misc Tab

Display: $DISPLAY

Mouse Cursor - Normal

Follow Mouse - unchecked/disabled

MIT-Shm extension - checked/enabled

Include Window Decorations - depends on preferences for appearance

Tooltips - depends on personal preferences

Outline Capture area on screen - personal preference

Reset Capture Area - personal preference

 

Extra Options

This is the key to getting the video to capture without severely slow lag video. Put this in the "Extra Options" text field of the Misc Tab:

--v_bitrate 2000000

 

This is apparently related to some but with libtheora over 1.1, this made a huge difference!

 

 

 

 

 

 

 

 

Notes to self:

Some other capture utilities to look into:

GLC- http://www.dedoimedo.com/computers/glc.html

XvidCap

Istanbul

ffmpeg

kazam

camstudio

Freeseer

VLC (VideLan)

 

Others?

Filed under:
Navigation