Peek: GIF ๋˜๋Š” APNG๋ฅผ ๊ธฐ๋ก ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 10์›” 22์ผ  ยท  21์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: phw/peek

์ €๋Š” ์•„์น˜ ๋ฆฌ๋ˆ…์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ตœ์‹  ๊ฐœ๋ฐœ ๋ฒ„์ „์—์„œ๋Š” ๋” ์ด์ƒ 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 ์…ธ ๋ฐฑ์—”๋“œ๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์•„๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค (๊ทธ๋†ˆ ์…ธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ•œ ํ•ญ์ƒ ffmpeg์ž…๋‹ˆ๋‹ค).

๋น ๋ฅธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์„ ์œ„ํ•ด PEEK_POSTPROCESSOR=imagemagick 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 + 227,101'์—์„œ # 0, x11grab ์ž…๋ ฅ :
๊ธฐ๊ฐ„ : N / A, ์‹œ์ž‘ : 1508689385.013648, ๋น„ํŠธ ์ „์†ก๋ฅ  : N / A
์ŠคํŠธ๋ฆผ # 0 : 0 : ๋น„๋””์˜ค : rawvideo (BGR [0] / 0x524742), bgr0, 479x193, 10fps, 10tbr, 1000k tbn, 1000k tbc
์ŠคํŠธ๋ฆผ ๋งคํ•‘ :
์ŠคํŠธ๋ฆผ # 0 : 0-> # 0 : 0 (rawvideo (๋„ค์ดํ‹ฐ๋ธŒ)-> pam (๋„ค์ดํ‹ฐ๋ธŒ))
์ค‘์ง€ํ•˜๋ ค๋ฉด [q]๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋„์›€์„ ๋ฐ›์œผ๋ ค๋ฉด [?]
๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•˜์ง€ ์•Š๊ณ  ์ŠคํŠธ๋ฆผ 0 : 0์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
์ถœ๋ ฅ # 0, rawvideo, '/home/alessandro/.cache/peek/peekB8527Y.pam':
๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ :
์ธ์ฝ”๋” : Lavf57.83.100
์ŠคํŠธ๋ฆผ # 0 : 0 : ๋น„๋””์˜ค : pam, rgb24, 479x193, q = 2-31, 200kb / s, 10fps, 10tbn, 10tbc
๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ :
์ธ์ฝ”๋” : Lavc57.107.100 pam
ํ”„๋ ˆ์ž„ = 0 fps = 0.0 q = 0.0 Lsize = 0kB ์‹œ๊ฐ„ = 00 : 00 : 00.00 ๋น„ํŠธ ์ „์†ก๋ฅ  = N / A ์†๋„ = 0x
video : 0kB audio : 0kB subtitle : 0kB other streams : 0kB global headers : 0kB muxing overflow : unknown
์ถœ๋ ฅ ํŒŒ์ผ์ด ๋น„์–ด ์žˆ๊ณ  ์ธ์ฝ”๋”ฉ ๋œ ํ•ญ๋ชฉ์ด ์—†์Šต๋‹ˆ๋‹ค (์‚ฌ์šฉ ๋œ ๊ฒฝ์šฐ -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/peek3LEG8Y.gif"ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ : ํ•ด๋‹น ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
์ž„์‹œ ํŒŒ์ผ ์‚ญ์ œ ์˜ค๋ฅ˜ : /home/alessandro/.cache/peek/peek3LEG8Y.gif ํŒŒ์ผ ์ œ๊ฑฐ ์˜ค๋ฅ˜ : ํ•ด๋‹น ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด์žˆ๋Š” ์ถœ๋ ฅ์ž…๋‹ˆ๋‹ค.

PEEK_POSTPROCESSOR = imagemagick ./peek
์Šคํฌ๋ฆฐ ๋ ˆ์ฝ”๋” ๋ฐฑ์—”๋“œ 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 + 227,101'์—์„œ # 0, x11grab ์ž…๋ ฅ :
๊ธฐ๊ฐ„ : N / A, ์‹œ์ž‘ : 1508689469.701404, ๋น„ํŠธ ์ „์†ก๋ฅ  : N / A
์ŠคํŠธ๋ฆผ # 0 : 0 : ๋น„๋””์˜ค : rawvideo (BGR [0] / 0x524742), bgr0, 479x193, 10fps, 10tbr, 1000k tbn, 1000k tbc
์ŠคํŠธ๋ฆผ ๋งคํ•‘ :
์ŠคํŠธ๋ฆผ # 0 : 0-> # 0 : 0 (rawvideo (๋„ค์ดํ‹ฐ๋ธŒ)-> pam (๋„ค์ดํ‹ฐ๋ธŒ))
์ค‘์ง€ํ•˜๋ ค๋ฉด [q]๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋„์›€์„ ๋ฐ›์œผ๋ ค๋ฉด [?]
๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•˜์ง€ ์•Š๊ณ  ์ŠคํŠธ๋ฆผ 0 : 0์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
์ถœ๋ ฅ # 0, rawvideo, '/home/alessandro/.cache/peek/peekYD067Y.pam':
๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ :
์ธ์ฝ”๋” : Lavf57.83.100
์ŠคํŠธ๋ฆผ # 0 : 0 : ๋น„๋””์˜ค : pam, rgb24, 479x193, q = 2-31, 200kb / s, 10fps, 10tbn, 10tbc
๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ :
์ธ์ฝ”๋” : Lavc57.107.100 pam
ํ”„๋ ˆ์ž„ = 0 fps = 0.0 q = 0.0 Lsize = 0kB ์‹œ๊ฐ„ = 00 : 00 : 00.00 ๋น„ํŠธ ์ „์†ก๋ฅ  = N / A ์†๋„ = 0x
video : 0kB audio : 0kB subtitle : 0kB other streams : 0kB global headers : 0kB muxing overflow : unknown
์ถœ๋ ฅ ํŒŒ์ผ์ด ๋น„์–ด ์žˆ๊ณ  ์ธ์ฝ”๋”ฉ ๋œ ํ•ญ๋ชฉ์ด ์—†์Šต๋‹ˆ๋‹ค (์‚ฌ์šฉ ๋œ ๊ฒฝ์šฐ -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 ํŒŒ์ผ ์ œ๊ฑฐ ์˜ค๋ฅ˜ : ํ•ด๋‹น ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋‚˜๋Š” ์šฐ๋ถ„ํˆฌ 17.10์—์„œ ๊ทธ๋†ˆ ์‰˜์ด ๋ฐฑ์—…๋˜๋ฉด ํ›Œ๋ฅญํ•˜๊ฒŒ ์ž‘๋™ํ•˜์ง€๋งŒ 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์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ช‡ ์ดˆ์—์„œ ์ตœ๋Œ€ 1 ๋ถ„ ๋™์•ˆ ๋…น์Œ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

./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 + 331,138'์—์„œ # 0, x11grab ์ž…๋ ฅ :
๊ธฐ๊ฐ„ : N / A, ์‹œ์ž‘ : 1508974958.940594, ๋น„ํŠธ ์ „์†ก๋ฅ  : N / A
์ŠคํŠธ๋ฆผ # 0 : 0 : ๋น„๋””์˜ค : rawvideo (BGR [0] / 0x524742), bgr0, 677x450, 10fps, 10tbr, 1000k tbn, 1000k tbc
์ŠคํŠธ๋ฆผ ๋งคํ•‘ :
์ŠคํŠธ๋ฆผ # 0 : 0-> # 0 : 0 (rawvideo (๋„ค์ดํ‹ฐ๋ธŒ)-> pam (๋„ค์ดํ‹ฐ๋ธŒ))
์ค‘์ง€ํ•˜๋ ค๋ฉด [q]๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋„์›€์„ ๋ฐ›์œผ๋ ค๋ฉด [?]
์ถœ๋ ฅ # 0, rawvideo, '/home/alessandro/.cache/peek/peekXXXXXX.pam':
๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ :
์ธ์ฝ”๋” : Lavf57.83.100
์ŠคํŠธ๋ฆผ # 0 : 0 : ๋น„๋””์˜ค : pam, rgb24, 677x450, q = 2-31, 200kb / s, 10fps, 10tbn, 10tbc
๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ :
์ธ์ฝ”๋” : Lavc57.107.100 pam
ํ”„๋ ˆ์ž„ = 11fps = 0.0 q = -0.0 ํฌ๊ธฐ = 9728kB ์‹œ๊ฐ„ = 00 : 00 : 01.10 ๋น„ํŠธ ๋ ˆ์ดํŠธ = 72447.1kbitsframe = 16fps = 16 q = -0.0 ํฌ๊ธฐ = 14080kB ์‹œ๊ฐ„ = 00 : 00 : 01.60 ๋น„ํŠธ ๋ ˆ์ดํŠธ = 72089.6kbitsframe = 22fps = 14 q = -0.0 ํฌ๊ธฐ = 19456kB ์‹œ๊ฐ„ = 00 : 00 : 02.20 ๋น„ํŠธ ์ „์†ก๋ฅ  = 72447.1kbitsframe = 28 fps = 13 q = -0.0 ํฌ๊ธฐ = 24832kB ์‹œ๊ฐ„ = 00 : 00 : 02.80 ๋น„ํŠธ ์ „์†ก๋ฅ  = 72651.3kbitsframe = 34 fps = 12 q = -0.0 ํฌ๊ธฐ = 30208kB ์‹œ๊ฐ„ = 00 : 00 : 03.40 ๋น„ํŠธ ์ „์†ก๋ฅ  = 72783.5kbitsframe = 40fps = 12 q = -0.0 ํฌ๊ธฐ = 35584kB ์‹œ๊ฐ„ = 00 : 00 : 04.00 ๋น„ํŠธ ์ „์†ก๋ฅ  = 72876.0kbitsframe = 45fps = 12 q = -0.0 ํฌ๊ธฐ = 39936kB ์‹œ๊ฐ„ = 00 : 00 : 04.50 ๋น„ํŠธ ์ „์†ก๋ฅ  = 72701.3kbitsframe = 51fps = 11 q = -0.0 ํฌ๊ธฐ = 45312kB ์‹œ๊ฐ„ = 00 : 00 : 05.10 ๋น„ํŠธ ์ „์†ก๋ฅ  = 72783.5kbitsframe = 57fps = 11 q = -0.0 ํฌ๊ธฐ = 50688kB ์‹œ๊ฐ„ = 00 : 00 : 05.70 ๋น„ํŠธ ๋ ˆ์ดํŠธ = 72848.4kbitsframe = 63fps = 11 q = -0.0 ํฌ๊ธฐ = 56064kB ์‹œ๊ฐ„ = 00 : 00 : 06.30 ๋น„ํŠธ ๋ ˆ์ดํŠธ = 72901.0kbitsframe = 69fps = 11 q = -0.0 ํฌ๊ธฐ = 61440kB ์‹œ๊ฐ„ = 00 : 00 : 06.90 ๋น„ํŠธ ๋ ˆ์ดํŠธ = 72944.4kbitsframe = 75fps = 11 q = -0.0 ํฌ๊ธฐ = 66816kB ์‹œ๊ฐ„ = 00 : 00 : 07.50 ๋น„ํŠธ ๋ ˆ์ดํŠธ = 72980.9kbitsframe = 80fps = 11 q = -0.0 ํฌ๊ธฐ = 71168kB ์‹œ๊ฐ„ = 00 : 00 : 08.00 ๋น„ํŠธ ๋ ˆ์ดํŠธ = 72876.0kbitsframe = 85fps = 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

์—ฌ๊ธฐ์„œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ์•„์ง ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” pam ํŒŒ์ผ์˜ ๋…น์Œ์ด 1.1.0์— ๋น„ํ•ด ์™„์ „ํžˆ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜ ์Œ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฒˆ์‹ ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์‹œ๋‚˜๋ชฌ์œผ๋กœ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ •ํ™•ํ•œ ๋ฌธ์ œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. AUR ํŒจํ‚ค์ง€ peek-git ์—์„œ peek (๋ฒ„์ „ 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 ah, ์•„๋งˆ๋„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์„์ง€๋„ ๋ชจ๋ฅด์ง€๋งŒ ์ˆ˜์ •์ด ๋‚˜๋ฅผ ์œ„ํ•ด 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์€ ์ด๊ฒƒ์„ ์œ„ํ•ด ์ „์—ญ ๊ตฌ์„ฑ ํŒŒ์ผ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค). ํ•˜์ง€๋งŒ ํŠนํžˆ ffmpeg (๋น ๋ฅด๊ณ  ๋‚ฎ์€ RAM ์‚ฌ์šฉ๋Ÿ‰, ์ž‘์€ gif ํฌ๊ธฐ, ์ •์ƒ ํ’ˆ์งˆ)์™€ gifski (๋Š๋ฆผ, ๋‚ฎ์€ RAM ์‚ฌ์šฉ๋Ÿ‰, ํฐ GIF ํฌ๊ธฐ, ์šฐ์ˆ˜ํ•œ ํ’ˆ์งˆ)๊ฐ€ ๋ชจ๋‘์žˆ๋Š” ๊ฒฝ์šฐ ImageMagick ๋ฐฑ์—”๋“œ๋Š” ์ด๋™ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ImageMagick์€ ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์— ๋ฌด์—‡์ด๋“  ๊ฐ€์ ธ ์˜ค๊ธฐ (๋Š๋ฆผ, ์—„์ฒญ๋‚œ RAM ์‚ฌ์šฉ๋Ÿ‰, ์ž‘์€ gif ํฌ๊ธฐ, ๊ดœ์ฐฎ์€ ํ’ˆ์งˆ)

์ด๊ฒƒ์€ git master ๋ธŒ๋žœ์น˜์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@phw ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@phw
์ด ๋ฒ„๊ทธ ์ˆ˜์ •์œผ๋กœ ๋ฆด๋ฆฌ์ฆˆ ํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์™œ ์˜์ƒ์„ ๋ชป ์ฐ๋Š” ์ง€ ์•Œ์•„ ๋‚ด๋Š”๋ฐ ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ ๋ ธ์–ด์š” ^^

@ C0rn3j ์ด ํŠน์ • ๋ฒ„๊ทธ๋Š” ์ถœ์‹œ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ ์ด๋ฏธ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์•ˆ์ • ๋ฒ„์ „์œผ๋กœ ๋…นํ™”ํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€์žˆ๋Š” ๊ฒฝ์šฐ ์ตœ์‹  ๊ฐœ๋ฐœ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ณง ์ƒˆ๋กœ์šด ๋ฆด๋ฆฌ์Šค๊ฐ€์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์•ˆ์ •์ ์ธ ๋ฒ„์ „์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ devel ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ณง ์ถœ์‹œ ๋  ์˜ˆ์ • ์ด๋‹ˆ ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

fbruetting picture fbruetting  ยท  6์ฝ”๋ฉ˜ํŠธ

jjnilton picture jjnilton  ยท  7์ฝ”๋ฉ˜ํŠธ

CasperHK picture CasperHK  ยท  5์ฝ”๋ฉ˜ํŠธ

nunodonato picture nunodonato  ยท  5์ฝ”๋ฉ˜ํŠธ

Jokero picture Jokero  ยท  4์ฝ”๋ฉ˜ํŠธ