Peek: 无法记录GIF或APNG

创建于 2017-10-22  ·  21评论  ·  资料来源: phw/peek

我使用的是arch linux,在最新的开发版本中,我无法再记录GIF或APNG文件格式。 版本1.1.0完美运行。

Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) /home/user/.cache/peek/peekQTVC8Y.png: Invalid data found when processing input Error: Child process exited with code 1 Temp file delete error: Error removing file /home/user/.cache/peek/peekQ5IH8Y.gif: No such file or directory

最有用的评论

这在git master分支中已修复。

所有21条评论

奇怪的。 生成调色板文件时似乎出了点问题。 您可以发布Peek的完整输出吗? 我怀疑实际问题已经更早了,也许我们可以在输出中看到一些东西。 同样重要的是要知道是否使用了ffmpeg或gnome shell后端(除非使用gnome shell,否则它将始终为ffmpeg)。

为了快速解决此问题,请使用PEEK_POSTPROCESSOR=imagemagick peek运行peek,它将对GIF使用旧方法(这对APNG无效,仅对新代码有效)。

使用屏幕录像机后端ffmpeg
webmgifffmpeg版本3.4版权所有(c)2000-2017 FFmpeg开发人员
使用gcc 7.2.0(GCC)内置
配置:--prefix = / usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls- enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame- enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2- enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
输入#0,x11grab,来自``:0 + 227,101'':
持续时间:N / A,开始:1508689385.013648,比特率:N / A
流#0:0:视频:原始视频(BGR [0] / 0x524742),bgr0、479x193、10 fps,10 tbr,1000k tbn,1000k tbc
流映射:
流#0:0->#0:0(rawvideo(本机)-> pam(本机))
按[q]停止,按[?]寻求帮助
在未写入任何数据的情况下完成流0:0。
将#0原始视频输出到'/home/alessandro/.cache/peek/peek/peekB8527Y.pam':
元数据:
编码器:Lavf57.83.100
流#0:0:视频:pam,rgb24、479x193,q = 2-31、200 kb / s,10 fps,10 tbn,10 tbc
元数据:
编码器:Lavc57.107.100 pam
帧= 0 fps = 0.0 q = 0.0 Lsize = 0kB时间= 00:00:00.00比特率= N / A速度= 0x
视频:0kB音频:0kB字幕:0kB其他流:0kB全局标头:0kB混合开销:未知
输出文件为空,未进行任何编码(如果使用,请检查-ss / -t / -frames参数)
ffmpeg版本3.4版权所有(c)2000-2017 FFmpeg开发人员
使用gcc 7.2.0(GCC)内置
配置:--prefix = / usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls- enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame- enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2- enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
/home/alessandro/.cache/peek/peekB8527Y.pam:处理输入时发现无效数据
错误:子进程已退出,代码为1
ffmpeg版本3.4版权所有(c)2000-2017 FFmpeg开发人员
使用gcc 7.2.0(GCC)内置
配置:--prefix = / usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls- enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame- enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2- enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
/home/alessandro/.cache/peek/peekB8527Y.pam:处理输入时发现无效数据
错误:子进程已退出,代码为1
删除调色板文件时出错:删除文件/home/alessandro/.cache/peek/peekQNCC8Y.png时出错:没有这样的文件或目录
文件保存错误:获取文件“ /home/alessandro/.cache/peek/peek/peek3LEG8Y.gif”的信息时出错:没有这样的文件或目录
临时文件删除错误:删除文件/home/alessandro/.cache/peek/peek3LEG8Y.gif时出错:没有这样的文件或目录

这是解决方法的输出

PEEK_POSTPROCESSOR = imagemagick ./窥视
使用屏幕录像机后端ffmpeg
gifffmpeg版本3.4版权所有(c)2000-2017 FFmpeg开发人员
使用gcc 7.2.0(GCC)内置
配置:--prefix = / usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls- enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame- enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2- enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
输入#0,x11grab,来自``:0 + 227,101'':
持续时间:N / A,开始:1508689469.701404,比特率:N / A
流#0:0:视频:原始视频(BGR [0] / 0x524742),bgr0、479x193、10 fps,10 tbr,1000k tbn,1000k tbc
流映射:
流#0:0->#0:0(rawvideo(本机)-> pam(本机))
按[q]停止,按[?]寻求帮助
在未写入任何数据的情况下完成流0:0。
将#0原始视频输出到'/home/alessandro/.cache/peek/peekYD067Y.pam':
元数据:
编码器:Lavf57.83.100
流#0:0:视频:pam,rgb24、479x193,q = 2-31、200 kb / s,10 fps,10 tbn,10 tbc
元数据:
编码器:Lavc57.107.100 pam
帧= 0 fps = 0.0 q = 0.0 Lsize = 0kB时间= 00:00:00.00比特率= N / A速度= 0x
视频:0kB音频:0kB字幕:0kB其他流:0kB全局标头:0kB混合开销:未知
输出文件为空,未进行任何编码(如果使用,请检查-ss / -t / -frames参数)
转换:图像标题不正确/home/alessandro/.cache/peek/peekYD067Y.pam' @ error/pnm.c/ReadPNMImage/284. convert: no images defined /home/alessandro/.cache/peek/peek3L1I8Y.gif'@ error / convert.c / ConvertImageCommand / 3258。
错误:子进程已退出,代码为1
文件保存错误:获取文件“ /home/alessandro/.cache/peek/peek3L1I8Y.gif”的信息时出错:没有这样的文件或目录
临时文件删除错误:删除文件时出错/home/alessandro/.cache/peek/peek3L1I8Y.gif:没有这样的文件或目录

我也刚刚在Ubuntu 17.10上进行了测试,如果支持的是gnome-shell,它可以很好地工作,但是如果我使用ffmpeg,它将文件另存为gif,但是不幸的是,它只是静态图像。

peek 2017-10-22 19-34

我对Ubuntu 17.10有同样的问题

警告:库配置不匹配

@ gort818这很奇怪,您确定1.1.0版可以工作吗? 因为您的ffmpeg录制已经失败,所以在两种情况下,录制的文件都是空的(“输出文件为空,没有进行任何编码”和“在未写入任何数据的情况下完成流0:0”)。 在这方面绝对没有任何改变,1.1.0中的ffmpeg的调用与当前开发版本中的完全相同。 您录制了多长时间? 您正在使用什么桌面环境?

@ irk3n-dev可能是另一个问题,请打开一个新的问题,然后在此处发布Peek的完整控制台输出。

@phw这是使用发布peek-1.1.0的输出,它工作得很漂亮,我正在使用Cinnamon。 我尝试录制了几秒钟到一分钟

./peek-1.1.0
使用屏幕录像机后端ffmpeg
ffmpeg版本3.4版权所有(c)2000-2017 FFmpeg开发人员
使用gcc 7.2.0(GCC)内置
配置:--prefix = / usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls- enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame- enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2- enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
输入0,x11grab,从':0 + 331,138':
持续时间:N / A,开始:1508974958.940594,比特率:N / A
流#0:0:视频:原始视频(BGR [0] / 0x524742),bgr0、677x450、10 fps,10 tbr,1000k tbn,1000k tbc
流映射:
流#0:0->#0:0(rawvideo(本机)-> pam(本机))
按[q]停止,按[?]寻求帮助
将#0原始视频输出到'/home/alessandro/.cache/peek/peekXXXXXX.pam':
元数据:
编码器:Lavf57.83.100
流#0:0:视频:pam,rgb24、677x450,q = 2-31、200 kb / s,10 fps,10 tbn,10 tbc
元数据:
编码器:Lavc57.107.100 pam
frame = 11 fps = 0.0 q = -0.0 size = 9728kB time = 00:00:01.10 bitrate = 72447.1kbitsframe = 16 fps = 16 q = -0.0 size = 14080kB time = 00:00:01.60 bitrate = 72089.6kbitsframe = 22 fps = 14 q = -0.0大小= 19456kB时间= 00:00:02.20比特率= 72447.1kbitsframe = 28 fps = 13 q = -0.0 size = 24832kB时间= 00:00:02.80比特率= 72651.3kbitsframe = 34 fps = 12 q = -0.0大小= 30208kB时间= 00:00:03.40比特率= 72783.5kbitsframe = 40 fps = 12 q = -0.0大小= 35584kB时间= 00:00:04.00比特率= 72876.0kbitsframe = 45 fps = 12 q = -0.0大小= 39936kB时间= 00:00:04.50比特率= 72701.3kbitsframe = 51 fps = 11 q = -0.0大小= 45312kB时间= 00:00:05.10比特率= 72783.5kbitsframe = 57 fps = 11 q = -0.0大小= 50688kB time = 00 :00:05.70比特率= 72848.4kbitsframe = 63 fps = 11 q = -0.0大小= 56064kB时间= 00:00:06.30比特率= 72901.0kbitsframe = 69 fps = 11 q = -0.0大小= 61440kB时间= 00:00:06.90比特率= 72944.4kbitsframe = 75 fps = 11 q = -0.0 size = 66816kB time = 00:00:07.50比特率= 72980.9kbitsframe = 80 fps = 11 q = -0.0 size = 71168kB time = 00:00:08.00比特率= 72876.0kbitsframe = 85帧/秒 = 11 q = -0.0 Lsize = 75870kB时间= 00:00:08.50比特率= 73121.0kbits / s速度= 1.06x
视频:75870kB音频:0kB字幕:0kB其他流:0kB全局标头:0kB混合开销:0.000000%
peek 2017-10-25 16-42

仍然不确定这里发生了什么。 我检查了一下,与1.1.0相比,pam文件的记录是完全不变的。 也无法复制,也许我必须与肉桂一起测试。

我也有这个确切的问题。 从AUR软件包peek-gitpeek (版本1.1.0)可以解决此问题。

@sQVe您使用的是什么?

@ gort818我没有使用DE。 我只将i3用作窗口管理器。

我正在使用带有KDE的Arch Linux,并且在使用peek以及peek-git软件包构建的Peek中遇到了问题。 最终的GIF只有〜10KiB。 我可以看到~/.cache/peek/peekXXXXXX.pam文件的大小正在增加,但是如果我尝试使用VLC播放它,它只会循环播放第一秒(就像最终的GIF中一样)。 Peek日志中没有错误:

$ peek                               
Using screen recorder backend ffmpeg
ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-avisynth --enable-avresample --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-shared --enable-version3
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, x11grab, from ':0+959,494':
  Duration: N/A, start: 1509278715.154771, bitrate: N/A
    Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 955x548, 10 fps, 10 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> pam (native))
Press [q] to stop, [?] for help
Output #0, rawvideo, to '/home/user/.cache/peek/peekXXXXXX.pam':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: pam, rgb24, 955x548, q=2-31, 200 kb/s, 10 fps, 10 tbn, 10 tbc
    Metadata:
      encoder         : Lavc57.107.100 pam
frame=  123 fps= 10 q=-0.0 Lsize=  188594kB time=00:00:12.30 bitrate=125606.6kbits/s speed=1.02x    
video:188594kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

编辑:我发现,如果禁用Plasma 5效果(CTRL + ALT + F12),它将开始记录。

你们都可以再次尝试最新的git版本吗? 我终于可以复制,更改了中间输出格式。 这可能是一个中间修复程序,但好奇是否能解决您的问题。

你们都可以再次尝试最新的git版本吗? 这可能是一个中间修复程序,但好奇是否能解决您的问题。

@phw为我解决了问题👍。

@phw啊,也许您已经知道了,但也请注意该修复程序对我来说破坏了PEEK_POSTPROCESSOR=imagemagick 。 通过修复,我得到了:

~ PEEK_POSTPROCESSOR=imagemagick /opt/peek/build/peek

** (peek:30606): WARNING **: Binding '<Ctrl><Alt>R' failed!
Using screen recorder backend ffmpeg
ffmpeg version 3.4-static http://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 6.4.0 (Debian 6.4.0-7) 20170920
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[x11grab @ 0x48d9ee0] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0+654,459':
  Duration: N/A, start: 1509724229.505680, bitrate: N/A
    Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1233x547, 5 fps, 1000k tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> ffvhuff (native))
Press [q] to stop, [?] for help
Output #0, matroska, to '/home/ronj/.cache/peek/peekHFWZ8Y.mkv':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: ffvhuff (FFVH / 0x48564646), rgb24, 1233x547, q=2-31, 200 kb/s, 5 fps, 1k tbn, 5 tbc
    Metadata:
      encoder         : Lavc57.107.100 ffvhuff
frame=   53 fps=5.2 q=-0.0 Lsize=   37271kB time=00:00:10.40 bitrate=29355.4kbits/s speed=1.02x
video:37268kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.009093%
convert: no decode delegate for this image format `MKV' @ error/constitute.c/ReadImage/501.
convert: no images defined `/home/ronj/.cache/peek/peekM6ZQ8Y.gif' @ error/convert.c/ConvertImageCommand/3210.
Error: Child process exited with code 1
File save error: Error when getting information for file '/home/ronj/.cache/peek/peekM6ZQ8Y.gif': No such file or directory
Temp file delete error: Error removing file: No such file or directory

啊,也许你已经知道了,

我不知道,但是我有点期待这一点(它对我有用,但是ImageMagick依赖于全局配置文件)。 但是我认为ImageMagick后端必须走,特别是当我们同时具有ffmpeg(快速,低RAM使用率,小gif大小,确定质量)和gifski(缓慢,低RAM使用率,大GIF大小,出色的质量)时,ImageMagick却没有将任何东西带到桌上(速度慢,RAM使用量大,gif尺寸小,质量还可以)

这在git master分支中已修复。

@phw太棒了,谢谢!

@phw
请用此错误修复程序发布,花了我一段时间才弄清楚为什么我不能拍摄任何视频^^

@ C0rn3j此特定错误从未发布,并且已经修复。 如果您在使用当前稳定版本记录时遇到问题,建议您尝试使用最新的开发版本。 但是很快就会有一个新版本。

我确实在稳定版本上有问题,使用devel版本可以使它工作。

很高兴听到即将发布版本。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

fbruetting picture fbruetting  ·  6评论

ttatanepvp123 picture ttatanepvp123  ·  4评论

leoherzog picture leoherzog  ·  7评论

jjnilton picture jjnilton  ·  7评论

msongz picture msongz  ·  7评论