MaartenBaert / ssr

SimpleScreenRecorder, a screen recorder for Linux
http://www.maartenbaert.be/simplescreenrecorder/
GNU General Public License v3.0
2.54k stars 289 forks source link

Fails to record on debian wheezy #83

Open mfuhrer opened 10 years ago

mfuhrer commented 10 years ago

I tried building simplescreenrecorder from master as well as the 0.1.2 and 0.0.7 releases on debian wheezy. Building posed no issues after installing all the required dev packages. Running simplescreenrecorder appears to work fine, until I hit "Start recording", when I get an X11Input::InputThread error. Trying to save the recording just generates an empty file. This happens in all the builds I tried (master, 0.1.2, 0.0.7). I have just one monitor attached to the workstation. Anyone else encountering this problem? Any ideas?

simplescreenrecorder

displaysizeandorientation

[2:23pm mfuhrer@cgy340ws ssr-master/build/src]> ./simplescreenrecorder & [1] 14524 [2:23pm mfuhrer@cgy340ws ssr-master/build/src]> ==================== SSR started ==================== SimpleScreenRecorder: 0.1.2 Qt: header 4.8.2, lib 4.8.2 libavformat: header 53.21.1, lib 53.21.1 libavcodec: header 53.35.0, lib 53.35.0 libavutil: header 51.22.1, lib 51.22.1 libswscale: header 2.1.0, lib 2.1.0 [DetectCPUFeatures] CPU features: mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 [PageRecord::StartPage] Starting page ... [PageRecord::StartPage] Started page. [PageRecord::StartOutput] Starting output ... [Muxer::Init] Using format matroska (Matroska file format). [BaseEncoder::CreateCodec] Using codec libx264 (libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10). [libx264 @ 0x9b33c0] lookaheadless mb-tree requires intra refresh or infinite keyint [libx264 @ 0x9b33c0] using SAR=1/1 [libx264 @ 0x9b33c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 [libx264 @ 0x9b33c0] profile Main, level 1.3 [libx264 @ 0x9b33c0] 264 - core 123 r2189 35cf912 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0x1 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=0 b_adapt=1 b_bias=0 direct=1 weightb=0 open_gop=1 weightp=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.25 pb_ratio=1.25 aq=1:1.00 [Muxer::MuxerThread] Muxer thread started. [DetectCPUFeatures] CPU features: mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 [PageRecord::StartOutput] Started output. [PageRecord::StartInput] Starting input ... [Synchronizer::SynchronizerThread] Synchronizer thread started. [BaseEncoder::EncoderThread] Encoder thread started. [X11Input::Init] Using X11 shared memory. [PageRecord::StartInput] Started input. [X11Input::InputThread] Input thread started. [X11Input::InputThread] Error: Can't get image (using shared memory)! Usually this means the recording area is not completely inside the screen. Or did you change the screen resolution? [X11Input::InputThread] Exception 'X11Exception' in input thread. [PageRecord::StopOutput] Stopping output ... [PageRecord::StopOutput] Stopped output. [PageRecord::StopInput] Stopping input ... [X11Input::~X11Input] Stopping input thread ... [PageRecord::StopInput] Stopped input.

MaartenBaert commented 10 years ago

The monitor is rather large, but I've heard of people using even larger resolutions and that did work. Can you take a screenshot of the input setting screen of SSR? SSR also saves a more detailed log in ~/.ssr, could you upload that too?

EDIT: You weren't trying to run this remotely (over SSH) I hope? The lack of proper Qt theme is suspicious ;).

EDIT: Actually it DOES work over SSH, but only if you run it with the -Y flag (unrestricted X11 forwarding) instead of -X (safer but incomplete X11 forwarding). But in that case you should have gotten the 'not using shared memory' error, so I don't really know what happened.

mfuhrer commented 10 years ago

Thanks for the feedback! I've been trying to record with both "entire screen" and "fixed rectangle" (using a small area) options, and run into the same issue either way. I tried testing both on remote display (via rlogin) and local display; all my screenshots and logs are from local display (if I get things working just on local display, I'm a happy camper!). The Qt theme oddity was simply the result of GUI Style being set to Windows in qtconfig; I've switched it to Desktop Settings so the following screenshots are more consistent ;)

simplescreenrecorder_videoinput

simplescreenrecorder_file

simplescreenrecorder_recording

Here is my ~/.ssr/settings.conf file from this last session: https://gist.github.com/mfuhrer/7752890

MaartenBaert commented 10 years ago

I don't see anything strange. Can I have the full log (saved in ~/.ssr) as well?

If that doesn't explain it, I will try to set up a Debian VM, but I don't have time for that now :).

mfuhrer commented 10 years ago

Here's the log: https://gist.github.com/mfuhrer/7753612

No worries if there isn't much to go by. Later today or tomorrow I'll try with a fresh user account, in case the problem is related to any settings files in my home directory. I'll let you know if that resolves anything.

cristtrav commented 10 years ago

I have the same problem on Kubuntu 14.04 x64. Always save a empty file. I tried to run the application as root with sudo and it worked. The problem is that change the video file permissions is annoying xD

cristtrav commented 10 years ago

Noob mistake. It isn't a permission issue, mi disk is full... :(

pmsullivan85 commented 4 years ago

I'm encountering this on a CentOS6 build. I've found that the issue is on systems with more than 1 display. If i'm logged in on X :1 (nvidia) , I get the above error. If I run on X :0 (mga/onboard), then it works as expected. I have also run it on a different system, that has X :0 on the nvidia card, and it worked there.

Does that provide any useful insight?

I also saw similar behavior (basically empty capture file) when I tried a similar capture using 'vlc'.

soheilpaper commented 3 years ago

image

eam commented 3 years ago

I've just encountered this as well. On my laptop I couldn't record at all on my external/hdmi display. After finding this issue, I tried opening up the laptop and recording on the built-in display and it worked fine.

[X11Input::InputThread] Error: Can't get image (using shared memory)!
    Usually this means the recording area is not completely inside the screen. Or did you change the screen resolution?
[X11Input::InputThread] Exception 'X11Exception' in input thread.

zenbook 14, I believe both displays are driven by a single controller:

00:02.0 VGA compatible controller: Intel Corporation Iris Plus Graphics G7 (rev 07)
divi-nation commented 1 year ago

So noone has a solution?