-1

I am trying to record my ubuntu 14.04 machine..Here's what I did.. echo "Installing Window Manager & VNC..." apt-get install -qq -y xvfb >> install.log apt-get install -qq -y x11vnc >> install.log apt-get install -qq -y fluxbox >> install.log chmod +x x11vnc && mv x11vnc /usr/bin/ # Install avconv + libx264 codec to convert flv to mp4 that is playable on web browsers echo "Installing VNC Screen Recording Utilities" easy_install vnc2flv 2>&1 >> install.log apt-get install -qq -y c >> install.log apt-get install -qq -y libavcodec-extra-53 >> install.log [[ $? -ne 0 ]] && apt-get install -qq -y libavcodec-extra-54 >> install.log # ubuntu 14

NUM_EXECUTORS="1"
SCREEN_RES="1440x1080x16"

xvfb_vncstart() {
  # dropping the vnc password into a text file for the vnc recording tool
  local PASSWORD_FILE=/tmp/vnc-password.txt
  if [ -f $PASSWORD_FILE ]; then
    rm $PASSWORD_FILE
  fi
  echo "$VNC_PASSWORD" > $PASSWORD_FILE
  export VNC_PASSWORD

  echo "Starting $NUM_EXECUTORS X servers..."
  export NUM_EXECUTORS
  for i in $(seq 1 $NUM_EXECUTORS); do
    echo "Launching X server $i..."
    # Start the X frame buffer implementation
    sudo -i -u ubuntu Xvfb :$i +extension GLX -screen 0 $SCREEN_RES -ac &> xvfb-$i.log &

    # Sleep a little to give programs a chance to start
    sleep 2

    # Start the fluxbox window manager.
    # We need a light window manager that allows maximizing windows
    sudo -i -u ubuntu DISPLAY=:$i fluxbox &> fluxbox-$i.log &

    # Sleep a little to give programs a chance to start
    sleep 2

    # Share the xsession over VNC
    sudo -i -u ubuntu x11vnc -forever -display :$i -N -passwdfile /tmp/vnc-password.txt &> vnc-$i.log &

    # Sleep a little to give programs a chance to start
    sleep 2
  done
}


But video recording doesn't work even when I try to run startx.

X.Org X Server 1.15.1
Release Date: 2014-04-13
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.0-76-generic x86_64 Ubuntu
Current Operating System: Linux ip-10-0-0-79 3.13.0-123-generic #172-Ubuntu SMP Mon Jun 26 18:04:35 UTC 2017 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.13.0-123-generic root=UUID=d4f2aafc-946a-4514-930d-4c45e676f198 ro nomodeset console=tty1 console=ttyS0 nomdmonddf nomdmonisw
Build Date: 12 February 2015  02:49:29PM
xorg-server 2:1.15.1-0ubuntu2.7 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.30.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.2.log", Time: Fri Jul 14 06:47:49 2017
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension SECURITY
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension Present
Initializing built-in extension DRI3
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Initializing built-in extension XFree86-VidModeExtension
Initializing built-in extension XFree86-DGA
Initializing built-in extension XFree86-DRI
Initializing built-in extension DRI2
Loading extension GLX
error setting MTRR (base = 0xf0000000, size = 0x00100000, type = 1) Invalid argument (22)


I have googled up and I was not able to find a concrete answer to why video was not working.. Any help or hints would help me a world of good.. Thanks in Advance for your reply!!!!!!

1 Answers1

0

The issue is resolved now.. Recording is done in java process..
pb = new ProcessBuilder(screenRecorderProcessLocation, "-an", "-s", System.getenv("SCREEN_RES"), "-f", "x11grab", "-i", "localhost:"+ display, "-vcodec", "libx264", "-r", "24", screenVideoFile.getAbsolutePath());

The SCREEN_RES value was not found in the environmental variable which caused the avconv to stop from recording.. After hardcoding with the resolution video recording started for me.. The best way to check is if manually by running the recording snippet to check if its working or not.. And then implementing.. I got lucky after 20 days without knowing what gone wrong!! Cheers everyone!! Happy Learning!!!