Hi,
I'm on Debian with version below. Imagemagick failed :( any ideas?
imagemagick:
Installé : 8:6.9.7.4+dfsg-2
Candidat : 8:6.9.7.4+dfsg-2
Table de version :
*** 8:6.9.7.4+dfsg-2 500
500 http://ftp.fr.debian.org/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
peek:
Installé : 1.0.0
Candidat : 1.0.0
Table de version :
*** 1.0.0 100
100 /var/lib/dpkg/status
md5-d366a262004f7f73dbc4ddf183f7248d
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/tmp/magick-19158jY9_iS6LMYOT.pam' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined `peekFNNEXY-2.gif' @ error/convert.c/ConvertImageCommand/3258.
Thx,
This looks like you have not enough space available on /tmp. Either you are low on disk space or /tmp is a RAM disk with insufficient space for the temp files convert created.
In current master I have already fixed setting the temp folder for convert, it will now use $HOME/.cache/peek . So if possible please try the latest git revision of Peek and see if this fixes your issue. Alternatively try setting the environment variable MAGICK_TMPDIR to a directory with enough disk space and see if this helps.
I'm still getting this issue with the $HOME/.cache/peek path.
Using screen recorder backend gnome-shell
Recording to file /home/mb/.cache/peek/peek7AOBYY.avi
convert-im6.q16: unable to get registry ID `cache:hosts' @ error/registry.c/GetImageRegistry/201.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/mb/.cache/peek/magick-7318Tr4HTGXvvg7f.pam' @ error/cache.c/OpenPixelCache/3945.
Error: Child process exited with code 1
File save error: Error when getting information for file “/home/mb/.cache/peek/peekTV2BYY.gif”: No such file or directory
Temp file delete error: Error removing file /home/mb/.cache/peek/peekTV2BYY.gif: No such file or directory
Please check your disc space on $HOME
Disk space should not be an issue, I have 74GB free.
I was able to get a gif recording by turning the resolution downsampling up.
This is on Ubuntu 17.04 Beta.
Same problem on ubuntu 17.04 stable, but uninstalling & installing Peek nightly from the nightly PPA seemed to have fixed it. [ETA: a few minutes later the problem came back. Upon some testing it looks like recordings of a few seconds work fine,but anything longer throws errors below]
details:
20 GB of Ram and 27 GB of space available on /home partition.
I just installed 17.04 yesterday in a clean install, but prior to that, Peek worked fine in 16.10.
Not sure if graphics drivers matter here, but I'm on a GTX 960 so I tried both nouveau & nvidia drivers, same outcome (i think both output are the same, but included them anyway just in case).
here's the error output with Nouveau drivers:
21:12:07:bmp:~ peek
Using screen recorder backend gnome-shell
Recording to file /home/bmp/.cache/peek/peekD3VWYY.avi
convert-im6.q16: unable to get registry ID `cache:hosts' @ error/registry.c/GetImageRegistry/201.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/bmp/.cache/peek/magick-16485RML4f5yiaCMB.pam' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined `/home/bmp/.cache/peek/peek9KGXYY.gif' @ error/convert.c/ConvertImageCommand/3258.
Error: Child process exited with code 1
File save error: Error when getting information for file “/home/bmp/.cache/peek/peek9KGXYY.gif”: No such file or directory
Temp file delete error: Error removing file /home/bmp/.cache/peek/peek9KGXYY.gif: No such file or directory
and here's the output after switching to Nvidia drivers 375.39:
21:14:28:bmp:~ peek
Using screen recorder backend gnome-shell
Recording to file /home/bmp/.cache/peek/peekRQ4SYY.avi
convert-im6.q16: unable to get registry ID `cache:hosts' @ error/registry.c/GetImageRegistry/201.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/bmp/.cache/peek/magick-28623_9UPlVYVj9Ae.pam' @ error/cache.c/OpenPixelCache/3945.
Error: Child process exited with code 1
File save error: Error when getting information for file “/home/bmp/.cache/peek/peekDS21YY.gif”: No such file or directory
Temp file delete error: Error removing file /home/bmp/.cache/peek/peekDS21YY.gif: No such file or directory
21:15:28:bmp:~
I think I've found the issue or at least a workaround. On my system /etc/ImageMagick-6/policy.xml contains:
<policy domain="resource" name="disk" value="1GiB"/>
If I change that to 10GiB then (so far) it seems to work again. I'm using the master branch built from source currently. However, Peek spends a _very_ long time (minutes) in "Rendering..." so I wonder whether imagemagick's disk cache size limit is what changed, or whether that limit was always 1GB and something else changed that causes Peek to take a lot longer to render and create a much larger cache file.
Good catch, I don't have this limit set. It all comes down that convert uses a huge amount of resources when converting frames to an animated GIF with the -optimize flag. I need a solution of this because this is the root cause for the majority of bug reports I receive.
Can you guys post the output of convert -list resource. This gives me an idea with which resource restrictions we are dealing here. For me this is:
Resource limits:
Width: 107.4MP
Height: 107.4MP
Area: 33.439GP
Memory: 15.571GiB
Map: 31.143GiB
Disk: unlimited
File: 768
Thread: 4
Throttle: 0
Time: unlimited
sure, thanks for looking into this @phw
> $ convert -list resource
Resource limits:
Width: 16KP
Height: 16KP
Area: 128MP
Memory: 256MiB
Map: 512MiB
Disk: 1GiB
File: 768
Thread: 4
Throttle: 0
Time: unlimited
$ convert -list resource
Resource limits:
Width: 16KP
Height: 16KP
Area: 128MP
Memory: 256MiB
Map: 512MiB
Disk: 10GiB
File: 768
Thread: 8
Throttle: 0
Time: unlimited
(This is after I edited the imagemagick config file from 1gb to 10gb)
Memory: 256MiB
This explains why the 1GB disk cache is not sufficient. Maybe the solution for now is to overwrite those values when launching convert. But this needs some testing with which limits peek can get away with.
with Stretch (debian9), in /etc/ImageMagick-6/policy.xml, I have too:
<policy domain="resource" name="disk" value="1GiB"/>
but it's for:
Any large image is cached to disk rather than memory
convert -list resource
Resource limits:
Width: 16KP
Height: 16KP
Area: 128MP
Memory: 256MiB
Map: 512MiB
Disk: 1GiB
File: 768
Thread: 4
Throttle: 0
Time: unlimited
I am on Ubuntu MATE:
orschiro@x230:~$ convert -list resource
Resource limits:
Width: 16KP
Height: 16KP
Area: 128MP
Memory: 256MiB
Map: 512MiB
Disk: 1GiB
File: 768
Thread: 4
Throttle: 0
Time: unlimited
Frequently, Peek fails to write the actual result to the file saying it is a caching issue. Short recordings normally work fine. Long ones fail all the time.
I have the same issue: On small/short recordings, everything works fine, but with larger animations, it spends 2-5 seconds in "Rendering", then the file does not show up. I the same resource limits for convert on Debian Stretch.
on Ubuntu Gnome 17.04
convert -list resource
Resource limits:
Width: 16KP
Height: 16KP
Area: 128MP
Memory: 256MiB
Map: 512MiB
Disk: 1GiB
File: 768
Thread: 4
Throttle: 0
Time: unlimited
I tried the workaround and it worked :tada: . Thanks @seanh and @phw
@dustinmoorenet what was the exact workaround for you? Did you change the value 1GiB to something else?
yes, 10GiB. I didn't check to see if I could set it lower at like 5GiB.
I have a same problem.
xereda@xereda ~> peek
Using screen recorder backend ffmpeg
ffmpeg version 3.2.4-1build2 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Ubuntu 6.3.0-8ubuntu1) 20170221
configuration: --prefix=/usr --extra-version=1build2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[x11grab @ 0x56461eb08fe0] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+62,66':
Duration: N/A, start: 1499258323.669850, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1857x1013, 10 fps, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/xereda/.cache/peek/peek4XHU2Y.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 928x506, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
[swscaler @ 0x56461eb1cea0] Warning: data is not aligned! This can lead to a speedloss
Past duration 0.931740 too large 276526kB time=00:00:20.10 bitrate=112701.4kbits/s dup=3 drop=0 speed= 1x
Past duration 0.979134 too large 302665kB time=00:00:22.00 bitrate=112701.4kbits/s dup=3 drop=1 speed=1.02x
Past duration 0.995277 too large 608081kB time=00:00:44.20 bitrate=112701.4kbits/s dup=3 drop=1 speed= 1x
frame= 515 fps= 10 q=-0.0 Lsize= 708511kB time=00:00:51.50 bitrate=112701.4kbits/s dup=3 drop=1 speed= 1x
video:708511kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
convert-im6.q16: unable to get registry ID `cache:hosts' @ error/registry.c/GetImageRegistry/201.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted `/home/xereda/.cache/peek/peek4XHU2Y.pam' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined `/home/xereda/.cache/peek/peekCNIK2Y.gif' @ error/convert.c/ConvertImageCommand/3258.
Error: Processo filho concluiu com código 1
File save error: Erro ao obter informação para o arquivo “/home/xereda/.cache/peek/peekCNIK2Y.gif”: Arquivo ou diretório não encontrado
Temp file delete error: Erro ao remover arquivo /home/xereda/.cache/peek/peekCNIK2Y.gif: Arquivo ou diretório não encontrado
I'm also having this issue, have changed .cache/peek to have 777 permissions, didn't seem to help.
convert -list resource
Resource limits:
Width: 16KP
Height: 16KP
Area: 128MP
Memory: 256MiB
Map: 512MiB
Disk: 1GiB
File: 768
Thread: 4
Throttle: 0
ffmpeg version 3.2.6-1+b3 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-19) 20170618
configuration: --prefix=/usr --extra-version=1+b3 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Input #0, x11grab, from ':0+204,151':
Duration: N/A, start: 1500948969.825304, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1069x477, 10 fps, 10 tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/preview/.cache/peek/peekNPX93Y.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 1069x477, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
frame= 517 fps= 10 q=-0.0 Lsize= 772371kB time=00:00:51.70 bitrate=122384.2kbits/s speed=1.01x
video:772371kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
convert-im6.q16: unable to get registry ID cache:hosts' @ error/registry.c/GetImageRegistry/201.
convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244.
convert-im6.q16: cache resources exhausted/home/preview/.cache/peek/peekNPX93Y.pam' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined `/home/preview/.cache/peek/peekPN5N3Y.gif' @ error/convert.c/ConvertImageCommand/3258.
Error: Child process exited with code 1
File save error: Error when getting information for file “/home/preview/.cache/peek/peekPN5N3Y.gif”: No such file or directory
Temp file delete error: Error removing file /home/preview/.cache/peek/peekPN5N3Y.gif: No such file or directory
Had the same issue, I can confirm that modifying the setting to 10gb works for me too. Previously it failed silently.
Indeed, I had been bitten by this and had to use other tools for longer gifs, but I do prefer using Peek. It would be useful for peek at least to watch for any failures from convert and send users towards this report, as silently failing is very confusing (and frustrating).
Nevertheless, thanks for all your hard work on peek :D :+1:
Hi, I confirm, editing /etc/ImageMagick-6/policy.xml and set Disk to 10G work for me ;)
Same here, that's the workaround! @phw This should be mentioned in the README.md to be present on the landing page.
Adding <policy domain="resource" name="disk" value="10GiB"/> didn't help me. Ubuntu 16.04
So peek is totally useless now
Did you add that string or modify that policy?
I added it to /etc/ImageMagick-6/policy.xml. Maybe there is some difference between version for debian and ubuntu, because I didn't have initially this line with 1GiB:
<policy domain="resource" name="disk" value="1GiB"/>
@Jokero The disk limit is not the only resource limit. Maybe more important is the memory limit. Please run convert -list resource to see the current limits on your system. Some examples show that the memory limit is set to 256 MB in many cases, try something higher instead like:
<policy domain="resource" name="memory" value="2GiB"/>
I have added explicit resource limits to the call of convert. Disk usage is unlimited, and memory usage is limited to 90% of available memory at the time of invoking convert.
Would be great if somebody could test this with the current master revision.
See also https://github.com/phw/peek/issues/125#issuecomment-332165686
I'm tested latest version. Problem still reproducing
PS Sorry for formatting. I don't know how to do it correctly.
palyla@spb-tmg-01:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 9.1 (stretch)
Release: 9.1
Codename: stretch`palyla@spb-tmg-01:~$ peek --backend=ffmpeg
* (peek:24295): WARNING *: Binding '
R' failed!
Requested screen recorder backend ffmpeg(peek:24295): Gtk-WARNING **: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version
(peek:24295): Gtk-WARNING **: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version
ffmpeg version 3.2.7-1~deb9u1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[x11grab @ 0x5631cd3f8f00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+375,70':
Duration: N/A, start: 1506434092.255643, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1031x780, 10 fps, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/palyla/.cache/peek/peekXXXXXX.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 1031x780, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
Recording canceled with return code 0485kB time=00:00:08.00 bitrate=193008.3kbits/s speed=1.04x
frame= 86 fps= 10 q=-0.0 Lsize= 202621kB time=00:00:08.60 bitrate=193008.3kbits/s speed=1.02x
video:202621kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
ffmpeg version 3.2.7-1~deb9u1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[x11grab @ 0x55f185152f00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+408,39':
Duration: N/A, start: 1506434107.338632, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1031x780, 10 fps, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/palyla/.cache/peek/peekXXXXXX.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 1031x780, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
Past duration 0.946999 too large 428803kB time=00:00:18.20 bitrate=193008.3kbits/s speed=1.02x
Past duration 0.999062 too large 445295kB time=00:00:18.90 bitrate=193008.3kbits/s dup=1 drop=0 speed=1.02x
frame= 196 fps= 10 q=-0.0 Lsize= 461787kB time=00:00:19.60 bitrate=193008.3kbits/s dup=1 drop=0 speed=1.01x
video:461787kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
convert-im6.q16: unable to get registry IDcache:hosts' @ error/registry.c/GetImageRegistry/201. convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244. convert-im6.q16: cache resources exhausted/home/palyla/.cache/peek/peekXXXXXX.pam' @ error/cache.c/OpenPixelCache/3945.
Error: Дочерний процесс завершился с кодом 1
File save error: Ошибка при получении информации о файле «/home/palyla/.cache/peek/peekXXXXXX.gif»: Нет такого файла или каталога
Temp file delete error: Error removing file /home/palyla/.cache/peek/peekXXXXXX.gif: Нет такого файла или каталога
palyla@spb-tmg-01:~$
palyla@spb-tmg-01:~$
palyla@spb-tmg-01:~$ peek* (peek:24550): WARNING *: Binding '
R' failed!
Using screen recorder backend ffmpeg(peek:24550): Gtk-WARNING **: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version
(peek:24550): Gtk-WARNING **: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version
ffmpeg version 3.2.7-1~deb9u1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[x11grab @ 0x5621d156ff00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+408,39':
Duration: N/A, start: 1506434389.662479, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1031x780, 10 fps, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/palyla/.cache/peek/peekXXXXXX.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 1031x780, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
frame= 72 fps= 10 q=-0.0 Lsize= 169636kB time=00:00:07.20 bitrate=193008.3kbits/s speed=1.03x
video:169636kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
ffmpeg version 3.2.7-1~deb9u1 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18) 20170516
configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[x11grab @ 0x555caa01bf00] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+437,104':
Duration: N/A, start: 1506434452.741770, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1031x780, 10 fps, 1000k tbr, 1000k tbn, 1000k tbc
Output #0, rawvideo, to '/home/palyla/.cache/peek/peekXXXXXX.pam':
Metadata:
encoder : Lavf57.56.101
Stream #0:0: Video: pam, rgb24, 1031x780, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
Metadata:
encoder : Lavc57.64.101 pam
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
Past duration 0.852425 too large 1463112kB time=00:01:02.10 bitrate=193008.3kbits/s dup=44 drop=6 speed= 1x
frame= 658 fps= 10 q=-0.0 Lsize= 1550287kB time=00:01:05.80 bitrate=193008.3kbits/s dup=44 drop=42 speed=1.01x
video:1550287kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%
convert-im6.q16: unable to get registry IDcache:hosts' @ error/registry.c/GetImageRegistry/201. convert-im6.q16: DistributedPixelCache '127.0.0.1' @ error/distribute-cache.c/ConnectPixelCacheServer/244. convert-im6.q16: cache resources exhausted/home/palyla/.cache/peek/peekXXXXXX.pam' @ error/cache.c/OpenPixelCache/3945.
convert-im6.q16: no images defined/home/palyla/.cache/peek/peekXXXXXX.gif' @ error/convert.c/ConvertImageCommand/3258. Error: Дочерний процесс завершился с кодом 1 File save error: Ошибка при получении информации о файле «/home/palyla/.cache/peek/peekXXXXXX.gif»: Нет такого файла или каталога Temp file delete error: Error removing file /home/palyla/.cache/peek/peekXXXXXX.gif: Нет такого файла или каталога palyla@spb-tmg-01:~$
@phw
The disk limit is not the only resource limit. Maybe more important is the memory limit. Please run convert -list resource to see the current limits on your system. Some examples show that the memory limit is set to 256 MB in many cases
$ convert -list resource
File Area Memory Map Disk Thread Throttle Time
--------------------------------------------------------------------------------
768 16.56GB 7.7113GiB 15.423GiB 10GiB 4 0 unlimited
@Jokero with these limits that shouldn't be the problem. Maybe your's is a different issue. Can you post the output of Peek when run from the command line?
It happens only when I try to record long video https://gist.github.com/Jokero/a06324c081ebd15973047e0b2b0b7b7f
@Jokero This shows that the process was killed by the OS, probably took too much RAM. I gues you have no or only little swap space? Did you test the latest development version?
In general for what you are doing you shouldn't be using the GIF format anyway. Even if it finishes rendering the GIF, nearly 1 minute recording of 1466x987 will easily end up in file of several hundred MBs in size. Not sure how this is useful. Change the output format to WebM or MP4 in the settings.
Peek's GIF recording is really meant to capture short snippets of parts of your screen.
I close this issue now as I think the 1.1.0 release manages the RAM usage well enough. It can't do magic though, ImageMagick just works as it works and the GIF format is in the end just not optimized for this kind of usage anyway.
@phw Development version works the same. But I totally agree with you that gif is not suited for long videos :+1:
Everybody still affected by this might want to read https://github.com/phw/peek/issues/125#issuecomment-336094122 and try the latest git revision. I made some attempts to use ffmpeg directly instead of ImageMagick and this looks promising so far.
Most helpful comment
I think I've found the issue or at least a workaround. On my system
/etc/ImageMagick-6/policy.xmlcontains:If I change that to
10GiBthen (so far) it seems to work again. I'm using themasterbranch built from source currently. However, Peek spends a _very_ long time (minutes) in "Rendering..." so I wonder whether imagemagick's disk cache size limit is what changed, or whether that limit was always 1GB and something else changed that causes Peek to take a lot longer to render and create a much larger cache file.