MaartenBaert / ssr

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

Simplescreenrecorder does not save anything #475

Open gradinaruvasile opened 8 years ago

gradinaruvasile commented 8 years ago

Hello. I used simplescreenrecorder for some time and was working fine (Debian testing 64 bit). But at least since last week it stopped recording anything. I saw no error messages, it just did not record anything after i pressed record, the file size indicator and duration being at 0. The file is created, but its empty. tried different codecs but none worked. Preview works. See the screenshot, it is after 10 seconds i pressed record. It happened if i compiled manually and with the version from your PPA. What could cause this? Attached screenshot and output from the terminal (started the program, selected the options then pressed record, for about 20 seconds, pressed "save recording" then "back").

ssr

$ simplescreenrecorder Could not load system translator. ==================== SSR started ==================== SimpleScreenRecorder 0.3.6 Compiled with GCC 5.3.1 Qt: header 4.8.7, lib 4.8.7 libavformat: header 56.40.101, lib 56.40.101 libavcodec: header 56.60.100, lib 56.60.100 libavutil: header 54.31.100, lib 54.31.100 libswscale: header 3.1.101, lib 3.1.101 [CPUFeatures::Detect] CPU features: mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx avx2 bmi1 bmi2 [ALSAInput::GetSourceList] Generating source list ... [ALSAInput::GetSourceList] Found card: [hw:0] HDA Intel HDMI [ALSAInput::GetSourceList] Found card: [hw:1] HDA Intel PCH [ALSAInput::GetSourceList] Found device: [hw:1,0] HDA Intel PCH: ALC3226 Analog [PulseAudioInput::GetSourceList] Generating source list ... [SourceNamesCallback] Found source: [alsa_output.pci-0000_00_03.0.hdmi-stereo.monitor] Monitor of Built-in Audio Digital Stereo (HDMI) [SourceNamesCallback] Found source: [alsa_output.pci-0000_00_1b.0.analog-stereo.monitor] Monitor of Built-in Audio Analog Stereo [SourceNamesCallback] Found source: [alsa_input.pci-0000_00_1b.0.analog-stereo] Built-in Audio Analog Stereo [SourceNamesCallback] Found source: [alsa_input.pci-0000_00_1b.0.analog-stereo.echo-cancel] Built-in Audio Analog Stereo (echo cancelled with Built-in Audio Analog Stereo) [SourceNamesCallback] Found source: [alsa_output.pci-0000_00_1b.0.analog-stereo.echo-cancel.monitor] Monitor of Built-in Audio Analog Stereo (echo cancelled with Built-in Audio Analog Stereo) [PageRecord::StartPage] Starting page ... [PageRecord::StartPage] Started page. [PageRecord::StartOutput] Starting output ... [Muxer::Init] Using format mp4 (MP4 (MPEG-4 Part 14)). [Muxer::AddStream] Using codec libx264 (libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10). [VideoEncoder::PrepareStream] Using pixel format nv12. [libx264 @ 0x2bbeb00] using SAR=1/1 [libx264 @ 0x2bbeb00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2 [libx264 @ 0x2bbeb00] profile High, level 5.0 [libx264 @ 0x2bbeb00] 264 - core 148 r2699 a5e06b9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x3 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=8 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 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.40 pb_ratio=1.30 aq=1:1.00 [BaseEncoder::EncoderThread] Encoder thread started. [Muxer::AddStream] Using codec libmp3lame (libmp3lame MP3 (MPEG audio layer 3)). [AudioEncoder::PrepareStream] Using sample format f32p. [libmp3lame @ 0x3256880] Channel layout not specified [BaseEncoder::EncoderThread] Encoder thread started. [PageRecord::StartOutput] Started output. [Muxer::MuxerThread] Muxer thread started. [PageRecord::StartInput] Starting input ... [Synchronizer::SynchronizerThread] Synchronizer thread started. [X11Input::Init] Using X11 shared memory. [X11Input::InputThread] Input thread started. [PageRecord::StartInput] Started input. [PulseAudioInput::InputThread] Input thread started. [PageRecord::StopOutput] Stopping output ... [PageRecord::StopOutput] Stopped output. [PageRecord::StopInput] Stopping input ... [X11Input::~X11Input] Stopping input thread ... [X11Input::InputThread] Input thread stopped. [PulseAudioInput::~PulseAudioInput] Stopping input thread ... [PulseAudioInput::InputThread] Input thread stopped. [PageRecord::StopInput] Stopped input. [PageRecord::StopPage] Stopping page ... [Synchronizer::~Synchronizer] Stopping synchronizer thread ... [Synchronizer::SynchronizerThread] Synchronizer thread stopped. [Muxer::Finish] Finishing encoders ... [BaseEncoder::EncoderThread] Flushing encoder ... [BaseEncoder::EncoderThread] Encoder thread stopped. [BaseEncoder::EncoderThread] Flushing encoder ... [BaseEncoder::EncoderThread] Encoder thread stopped. [Muxer::MuxerThread] Muxer thread stopped. [Muxer::~Muxer] Stopping encoders ... [Muxer::~Muxer] Waiting for muxer thread to stop ... [BaseEncoder::~BaseEncoder] Stopping encoder thread ... [BaseEncoder::~BaseEncoder] Stopping encoder thread ... [PageRecord::StopPage] Stopped page. ==================== SSR stopped ====================

MaartenBaert commented 8 years ago

Does this also happen if you record without audio? Does the audio preview work?

gradinaruvasile commented 8 years ago

I did not try without audio. The audio preview works. Also i tried on another computer with the same OS version and recording works there. Output of working recording of 15 seconds:

$ simplescreenrecorder Could not load system translator. ==================== SSR started ==================== SimpleScreenRecorder 0.3.6 Compiled with GCC 5.4.0 Qt: header 4.8.7, lib 4.8.7 libavformat: header 57.41.100, lib 57.41.100 libavcodec: header 57.48.101, lib 57.48.101 libavutil: header 55.28.100, lib 55.28.100 libswscale: header 4.1.100, lib 4.1.100 [CPUFeatures::Detect] CPU features: mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 avx bmi1 [ALSAInput::GetSourceList] Generating source list ... [ALSAInput::GetSourceList] Found card: [hw:0] HD-Audio Generic [ALSAInput::GetSourceList] Found device: [hw:0,0] HD-Audio Generic: ALC892 Analog [ALSAInput::GetSourceList] Found device: [hw:0,2] HD-Audio Generic: ALC892 Alt Analog [ALSAInput::GetSourceList] Found card: [hw:1] HDA ATI HDMI [ALSAInput::GetSourceList] Found card: [hw:2] HD Webcam C615 [ALSAInput::GetSourceList] Found device: [hw:2,0] HD Webcam C615: USB Audio [PulseAudioInput::GetSourceList] Generating source list ... [SourceNamesCallback] Found source: [alsa_output.pci-0000_00_14.2.analog-stereo.monitor] Monitor of Built-in Audio Analog Stereo [SourceNamesCallback] Found source: [alsa_input.pci-0000_00_14.2.analog-stereo] Built-in Audio Analog Stereo [SourceNamesCallback] Found source: [alsa_input.pci-0000_00_14.2.analog-stereo.echo-cancel] Built-in Audio Analog Stereo (echo cancelled with Built-in Audio Analog Stereo) [SourceNamesCallback] Found source: [alsa_output.pci-0000_00_14.2.analog-stereo.echo-cancel.monitor] Monitor of Built-in Audio Analog Stereo (echo cancelled with Built-in Audio Analog Stereo) [PageRecord::StartPage] Starting page ... [PageRecord::StartPage] Started page. [PageRecord::StartInput] Starting input ... [X11Input::Init] Using X11 shared memory. [X11Input::InputThread] Input thread started. [PageRecord::StartInput] Started input. [PulseAudioInput::InputThread] Input thread started. [PageRecord::StopInput] Stopping input ... [X11Input::~X11Input] Stopping input thread ... [X11Input::InputThread] Input thread stopped. [PulseAudioInput::~PulseAudioInput] Stopping input thread ... [PulseAudioInput::InputThread] Input thread stopped. [PageRecord::StopInput] Stopped input. [PageRecord::StartOutput] Starting output ... [Muxer::Init] Using format mp4 (MP4 (MPEG-4 Part 14)). [Muxer::AddStream] Using codec libx264 (libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10). [VideoEncoder::PrepareStream] Using pixel format nv12. [libx264 @ 0x2270480] using SAR=1/1 [libx264 @ 0x2270480] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 FMA3 LZCNT BMI1 [libx264 @ 0x2270480] profile Constrained Baseline, level 4.0 [libx264 @ 0x2270480] 264 - core 148 r2699 a5e06b9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 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=4 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0 [Muxer::AddStream] Using codec aac (AAC (Advanced Audio Coding)). [BaseEncoder::EncoderThread] Encoder thread started. [AudioEncoder::PrepareStream] Using sample format f32p. [mp4 @ 0x2204ba0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [mp4 @ 0x2204ba0] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead. [BaseEncoder::EncoderThread] Encoder thread started. [PageRecord::StartOutput] Started output. [Synchronizer::SynchronizerThread] Synchronizer thread started. [Muxer::MuxerThread] Muxer thread started. [PageRecord::StartInput] Starting input ... [X11Input::Init] Using X11 shared memory. [X11Input::InputThread] Input thread started. [PageRecord::StartInput] Started input. [PulseAudioInput::InputThread] Input thread started. [FastResampler::Resample] Resample ratio is 1.0000 (was 0.0000). [PageRecord::StopOutput] Stopping output ... [PageRecord::StopOutput] Stopped output. [PageRecord::StopInput] Stopping input ... [X11Input::~X11Input] Stopping input thread ... [X11Input::InputThread] Input thread stopped. [PulseAudioInput::~PulseAudioInput] Stopping input thread ... [PulseAudioInput::InputThread] Input thread stopped. [PageRecord::StopInput] Stopped input. [PageRecord::StopPage] Stopping page ... [Synchronizer::~Synchronizer] Stopping synchronizer thread ... [Synchronizer::SynchronizerThread] Synchronizer thread stopped. [Muxer::Finish] Finishing encoders ... [BaseEncoder::EncoderThread] Flushing encoder ... [BaseEncoder::EncoderThread] Encoder thread stopped. [BaseEncoder::EncoderThread] Flushing encoder ... [BaseEncoder::EncoderThread] Encoder thread stopped. [Muxer::MuxerThread] Muxer thread stopped. [Muxer::~Muxer] Stopping encoders ... [Muxer::~Muxer] Waiting for muxer thread to stop ... [BaseEncoder::~BaseEncoder] Stopping encoder thread ... [libx264 @ 0x2270480] frame I:2 Avg QP:18.00 size: 56667 [libx264 @ 0x2270480] frame P:452 Avg QP:18.61 size: 10179 [libx264 @ 0x2270480] mb I I16..4: 100.0% 0.0% 0.0% [libx264 @ 0x2270480] mb P I16..4: 6.0% 0.0% 0.0% P16..4: 26.9% 0.0% 0.0% 0.0% 0.0% skip:67.1% [libx264 @ 0x2270480] coded y,uvDC,uvAC intra: 17.4% 49.5% 20.1% inter: 9.0% 15.5% 0.7% [libx264 @ 0x2270480] i16 v,h,dc,p: 63% 27% 6% 3% [libx264 @ 0x2270480] i8c dc,h,v,p: 31% 23% 36% 10% [libx264 @ 0x2270480] kb/s:2492.08 [BaseEncoder::~BaseEncoder] Stopping encoder thread ... [aac @ 0x29b0ce0] Qavg: 558.642 [PageRecord::StopPage] Stopped page. ==================== SSR stopped ====================

MaartenBaert commented 8 years ago

On the computer that is showing the problem, try running simplescreenrecorder --syncdiagram, and do a test recording. This will show a synchronization diagram, please post a screenshot of it here.

gradinaruvasile commented 8 years ago

It seems it was a local issue caused by Pulseaudio. I started the recorder with --syncdiagram and i got the below output: screenshot at 2016-08-08 10-36-11 Video in, no audio in. Tried without audio, it worked (interesting i am sure some audio was showing last time i checked on the preview). Enabled sound recording again, checked in pavucontrol and indeed simplescreenrecorder was recording not from the specified source, but another one (monitor of the echo-cancel recording thread instead of monitor of internal analog). So it seems Pulseaudio had some manually specified rule for simplescreenrecorder.

MaartenBaert commented 8 years ago

If you change the source to the right one, does that solve the problem? Or does it somehow switch back to the wrong source the next time you try to record something?

gradinaruvasile commented 8 years ago

Yes, if i change the source from pavucontrol to the one i have in ssr, it works with audio too. Afterwards it works too. So it's not a critical issue, but it could help if some kind of error message is provided instead of silently failing...