Problem with screen capture

I am getting annoyed with this…

  • Xvidcap just freezes when I press ctrl+F11 to get cube visible
  • gtk-recordmydesktop (imagine, no qt- anywhere to find), doesn’t record anything but still picture
  • ffmpeg with:
ffmpeg -f alsa -itsoffset 00:00:02.000 -ac 2 -i hw:0,0 -f x11grab -s $(xwininfo -root | grep 'geometry' | awk '{print $2;}') -r 15 -i :0.0 -sameq -f mp4 -s wvga -y screencast.mp4

…freezes after some time, randomly

I have fglrx installed, but happened the same with radeon driver.
System: 11.4 64bit, Mobility Radeon HD5700, core i7, 4GB

…or I am doing something wrong?

(just to mention, Mint 10Julia KDE4.6 on same machine, qt-recordmydesktop worked just fine)
Any suggestions?

Seems that it started to work when I removed Pulseaudio.
I got better results with ffmpeg command then 2 above.

No, it didn’t resolve.
Started locking again.

:frowning:

For me recordmydesktop and istanbul don’t work on opensuse 11.4 . I’m also about figuring out why that is …

Recordmydesktop is working for me, as is gtk-recordmydesktop.

Try the command line (substitute your own resolution)

recordmydesktop -width 1680 -height 1050 --v_quality 63 --v_bitrate 2000000 -o test

If it captures correctly, then in the advanced/misc extra options section of gtk-recordmydesktop add

–v_quality 63 --v_bitrate 2000000

Hmm…
command line worked for me, GUI didnt work.

However, since I am not so proficient with it, while capturing, when I rotate desktop cube, appears some “cracks”, some wierd squares and other noise (while extensive movement on the screen).
Do you know how to get smoother capture?

So where did you find recordmydesktop and qt or gtk gui? I don’t find it in packman for 64bit 11.4.

I’ve been doing some configuration experiments since I can’t get xvidcap to work reliably either. Still can’t get it to work reliably, but here’s what I’ve tried for those that may be interested.

I have NVidia proprietary driver loaded running on a GTX580 card. Used the ‘easy’ method of loading driver so kernel updates stay relatively intact when they occur.

I am running dual monitor setup and used nvidia-settings to generate a base monitor device file then tweaked that to create a 40-monitor.conf file which I place in /etc/X11/xorg.conf.d.

So far I have tried the following:
1 - No dual monitor setup, just default install (no 40-monitor.conf active)

  • Results
    • with sound recording option enabled, xvidcap will freeze immediately when record button is hit.
    • with sound recording option disabled, xvidcap will start and randomly will work properly, but will still freeze during recording at various points, so not reliable
    • Output file plays as expected albeit without sound.

2 - Dual Monitor Setup using Xinemara

  • Results
    • with sound recording option enabled, it will sometimes work or appear to be capturing other times it will freeze and has to be killed.
    • with sound recording option disabled, same result
    • NOTE: In both cases however, even though it will appear to be recording successfully and the file size grows, the resulting playback is simply the first frame it recorded frozen.

3 - Dual Monitor Setup using Twinview

  • Results
  • Same as with Xinemara enabled.

I’m thinking this is related to the NVidia driver somehow, or the plasma desktop but don’t know how to prove it.

Just thought I would pass this along for information.

One other NOTE:
I run Virtual Box 4 with openSuSE as the host and Windows 7 as guest O/S. If I use the screen capture program I have for windows in the Windows 7 session, that works fine.

At the risk of breaking our forum rules for doubleposting, I thought I would post this ‘solution’ in one more place … :slight_smile:

On the subject of screen video capture, but NOT using xvidcap, I had pointed out in a Fedora thread that I was subscribed to, a very neat way of obtain a high quality screen capture with the ffmpeg command. I did NOT get the freeze noted in the initial post of Beli0135, although I recorded for only a minute or two in my testing.

Beli0135, how long did you record before you had the freeze using ffmpeg ?

Lets say one has a screen with a resolution of 1920x1200 (such as my screen). Lets say one has a KDE4 desktop and one wants to capture a video of an application in the desktop that only files PART of the desktop screen, say of 1440x900 resolution in the desktop screen. Then what one needs to do is move the application to the upper left hand corner of one’s KDE4 desktop. Set the application window size to exactly 1440x900. One can do this by clicking on the ‘menu’ icon in the very upper left corner of the window on the application title bar at window top, and select "advanced > special window settings > geometry > size " and type 1440,900. Select ‘apply now’ from the drop down menu.

This will then size the window to be exactly 1440x900 resolution. Ensure the window is in the upper left corner. And then send this ffmpeg command:

ffmpeg -f alsa -ac 2 -i hw:1,0 -f x11grab -r 30 -s 1440x900 -i  :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads  0 output.avi 

where the output video will be ‘output.avi’. One can stop the recording by pressing .

The only tricky part for me (on my openSUSE-11.3) was to select the mic in ffmpeg with the " -i … " option. If one has pulse audio enabled one can likely use " -i pulse " instead of the " -i hw:1,0 " that I used.

In my case I first ran :

arecord -l 

which gave me:


oldcpu@core-i7:~> arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: AD198x Analog [AD198x Analog]
  Subdevices: 3/3
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
**card 1: U0x46d0x821 [USB Device 0x46d:0x821], device 0: USB Audio [USB Audio]**
  Subdevices: 1/1
  Subdevice #**0**: subdevice #0

and determined my USB (webcam) mic was HW:1,0 (ie card-1, subdevice 0). Since I wanted to use the mic in my webcam to record, I input hw:1,0 in the ffmpeg command.

I think the rest is intuitively obvious ?

Anyway, there is an excellent reference here: How to do Proper Screencasts on Linux Using FFmpeg � Hopefully Useful