LINUX.ORG.RU

i3wm. Как создавать gif - скриншоты?

 , ,


0

1

То что сотворил:

Xubuntu + i3

Единственный огромный минус - не могу создавать скриншоты всего рабочего стола и выделенной области в формате .gif

В xfwm4 все это делаю с Peek, но в i3 этот способ не работает...

Посоветуйте простой вариант....

Сделай скринкаст при помощи ffmpeg. Либо сразу в gif, либо сначала в mkv, а потом в gif перегони. Делов-то!

anonymous
()
Ответ на: комментарий от anonymous

Ясно.

Придется обратно к xfwm4....как бы печально это ни было...

Novichok2014 ★★★
() автор топика

Как создавать gif - скриншоты?

Бесплатная и крохотная утилита LICECap под Wine внезапно работает и на GNU/Linux. Иногда пользуюсь ей.

EXL ★★★★★
()
Ответ на: комментарий от Novichok2014

ffmpeg умеет снимать область, кури маны. Щаз я уже не вспомню, как это делается, но года два назад снимал по мелочи всякое.

И не снимай в gif, оно сильно тормозит, снимай в mkv а уже после — конвертируй.

r3lgar ★★★★★
()
Ответ на: комментарий от Grruzchik

Выдает такую ошибку:

[PageRecord::StartPage] Запускаю...
[PageRecord::StartPage] Запущено.
[PageRecord::StartOutput] Начинаю вывод...
[Muxer::Init] Using format gif (GIF Animation).
[Muxer::AddStream] Using codec libx264 (libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10).
[VideoEncoder::PrepareStream] Using pixel format nv12.
[BaseEncoder::EncoderThread] Encoder thread started.
[Muxer::Start] Error: Can't write header!
[BaseEncoder::~BaseEncoder] Stopping encoder thread ...
[BaseEncoder::EncoderThread] Encoder thread stopped.
[PageRecord::StartOutput] Ошибка: Во время инициализации что-то пошло не так.
Novichok2014 ★★★
() автор топика

gif - скриншоты

Убей себя!

P.S. Делаются они элементарно и от WM не зависят вообще. Но за них надо убивать на месте. Для скриншотов есть png, для видео — множество специально предназначенных форматов, например webm.

anonymous
()
Ответ на: комментарий от anonymous

Прикол в том, что говносайтики не дают «видюшку» вставить юзверю, а сраную гифку — хоть стомеговую!

anonymous
()
Ответ на: комментарий от r3lgar

Да, в манах белым по черному пишут:

           ffmpeg -f x11grab -video_size cif -framerate 25 -i :0.0+10,20 /tmp/out.mpg

       0.0 is display.screen number of your X11 server, same as the DISPLAY environment variable. 10 is the x-offset and 20 the y-offset for the grabbing.
ну и по идее -s задаст размер захваченной области.

anonymous
()
Ответ на: комментарий от anonymous

Да, вот такой командой

ffmpeg -f x11grab -s 512x512 -framerate 5 -i :0.0+100,100 /tmp/out.mkv
получилось писать скринкаст начиная с угла (100,100) размером 512х512.

И даже напрямую в гифку пишет (правда, я гифки смотреть могу только браузером, у меня нет программ для просмотра этого говна, а фотки я feh'ом смотрю).

anonymous
()

В общем, ТС, закрывай тему: я дал исчерпывающий ответ на твой вопрос.

anonymous
()
Ответ на: комментарий от Novichok2014

Только если матроску в гиф конвертировать, после снятия скриншота.

Сразу в гиф что то у меня так и не получилось, хотя в программе заявлен этот формат....

Novichok2014 ★★★
() автор топика
Ответ на: комментарий от Novichok2014

На малом framerate нормально работает. У меня выдает до 10 кадров в секунду в гиф без тормозов. Но вот если хочется полноценных 25, да еще на разрешении 4k…

anonymous
()
Ответ на: комментарий от Novichok2014

Только если матроску в гиф конвертировать, после снятия скриншота.

Оно лучше качеством будет. См. пример с палетой. Там, по ссылке, вообще готовый код для конвертации. Сохраняем, подвешиваем запуск на хоткей или добавляем в менюшку ФМ и хоть обконвертируйся.

anonymous
()
Ответ на: комментарий от anonymous

Оно лучше качеством будет. См. пример с палетой.

Добавлю: для создания «нормальной» палитры нужно сначала пройтись по всему видео. Поэтому-то лучше делать в три этапа — запись в обычный видео формат, прогон ffmpeg для составления палитры и конвертация.

anonymous
()
Ответ на: комментарий от anonymous

ffmpeg -f x11grab

 Unknown input format: 'x11grab'

правда, я гифки смотреть могу только браузером

mpv же. Еще - nomacs, gwenview, viewnior.

anonymous
()
Ответ на: комментарий от EXL

Если мне когда нибудь придется использовать вайн в линукс, то я сразу потру раздел с линукс и оставлю одну венду, то есть вайн в линукс считаю для меня вещь ненужная и поэтому этот вариант не мой.

Novichok2014 ★★★
() автор топика
Ответ на: комментарий от Novichok2014

Тогда остаётся только пердолинг. Увы.

EXL ★★★★★
()
Ответ на: комментарий от anonymous

Unknown input format: 'x11grab'

Как ты его собирал? Проверь, есть ли юз-флаг «X»:

eix ffmpeg -I
[I] media-video/ffmpeg
     Доступные версии:      3.2.6(0/55.57.57)^d (~)3.2.7(0/55.57.57)^d 3.3.3(0/55.57.57)^d 3.3.4(0/55.57.57)^d 3.3.5(0/55.57.57)^d (~)3.4(0/55.57.57)^d **9999(0/55.57.57)^d **9999-r1(0/52.55.55)[1] {3dnow 3dnowext X aac aacplus alsa altivec amr amrenc armv5te armv6 armv6t2 armvfp avisynth avx avx2 bindist bluray bs2b +bzip2 cdio celt chromaprint chromium cpudetection debug doc ebur128 +encode examples faac fdk flite fma4 fontconfig frei0r fribidi gcrypt gme gmp gnutls +gpl gsm +hardcoded-tables +iconv iec61883 ieee1394 jack jpeg2k kvazaar ladspa libass libcaca libilbc librtmp libsoxr libv4l lzma mips32r2 mipsdspr1 mipsdspr2 mipsfpu mmal mmx mmxext modplug mp3 neon +network nvenc openal opencv opengl openh264 openssl opus oss pic +postproc pulseaudio quvi rtmp rubberband samba schroedinger sdl snappy sofalizer speex sse sse2 sse3 sse4 sse4_2 ssh ssse3 static-libs svg test theora (+)threads truetype twolame v4l vaapi vdpau vidstab vorbis vpx wavpack webp x264 x265 xcb xvid zeromq zimg +zlib zvbi ABI_MIPS="n32 n64 o32" ABI_PPC="32 64" ABI_S390="32 64" ABI_X86="32 64 x32" CPU_FLAGS_ARM="neon thumb thumb2 v6 v8 vfp vfpv3" CPU_FLAGS_X86="3dnow 3dnowext aes avx avx2 fma3 fma4 mmx mmxext sse sse2 sse3 sse4_1 sse4_2 ssse3 xop" FFTOOLS="+aviocat +cws2fws +ffescape +ffeval +ffhash +fourcc2pixfmt +graph2dot +ismindex +pktdumper +qt-faststart +sidxindex +trasher"}
     Установленные версии:  3.4(0/55.57.57)^d(11:36:58 01.11.2017)(X alsa bluray bzip2 encode fontconfig gpl hardcoded-tables iconv jack jpeg2k libass libcaca mp3 network opengl openssl postproc sdl svg theora threads truetype v4l vaapi vdpau vorbis x264 xcb xvid zlib -altivec -amr -amrenc -bs2b -cdio -celt -chromaprint -chromium -cpudetection -debug -doc -fdk -flite -frei0r -fribidi -gcrypt -gme -gmp -gnutls -gsm -iec61883 -ieee1394 -kvazaar -ladspa -libilbc -librtmp -libsoxr -libv4l -lzma -mipsdspr1 -mipsdspr2 -mipsfpu -mmal -modplug -nvenc -openal -openh264 -opus -oss -pic -pulseaudio -rubberband -samba -snappy -speex -ssh -static-libs -test -twolame -vpx -wavpack -webp -x265 -zeromq -zimg -zvbi ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64" ABI_X86="32 64 -x32" CPU_FLAGS_ARM="-neon -thumb -thumb2 -v6 -v8 -vfp -vfpv3" CPU_FLAGS_X86="mmx mmxext sse sse2 -3dnow -3dnowext -aes -avx -avx2 -fma3 -fma4 -sse3 -sse4_1 -sse4_2 -ssse3 -xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher")
     Домашняя страница:     http://ffmpeg.org/
     Описание:              Complete solution to record, convert and stream audio and video. Includes libavcodec.

mpv — херня какая-то. Я mplayer использую, там нет этих дебильных рюшечек и удобные клавосочетания.

nomacs, gwenview, viewnior.

Жирные тормоза, лучше feh я еще смотрелки изображений не встречал.

anonymous
()
Ответ на: комментарий от anonymous

Как ты его собирал? Проверь, есть ли юз-флаг «X»:

Пересобрал с флагом xcb (c версии 3.3 grab через xcb), заработало, правда, не ясно, на кой оно сдалось.
Simplescreenrecorder всяко удобнее. Разве что в связке с xrectsel сделать свой велосипед.

mpv — херня какая-то. Я mplayer использую

Используй. Он тоже умеет гифку проигрывать. Вроде бы, чтобы не умел, собирать с --disable-gif надо. Ну а мне лично дополнительных 5МБ под mpv не жаль.

Жирные тормоза, лучше feh я еще смотрелки изображений не встречал.

Байки для подоконников/убунтят не всегда прокатывают.
Пользовался пару лет feh для быстрого просмотра (потом заменил на sxiv), но вот сортировать сотню-другую фоток им заколдобишься. Так же, как следует различать беглый просмотр pdf с помощью mupdf и вдумчивое изучение окуляром — довольно разные юзкейзы.

anonymous
()
Ответ на: комментарий от anonymous

Simplescreenrecorder

Не люблю место засорять, когда все равно ffmpeg уже стоит. Правда, не повесишь на клавосочетание, т.к. как-то его потом тормознуть надо (хотя, возможно, простой kill убьет «вежливо»). Писать области, а не весь экран, у меня задачи не стоит. А еще я себе рисовалку забульбенил, которая во время скринкаста позволяет что-нибудь нарисовать/выделить (еще, возможно, надо добавить печатание текста, т.к. голос я не пишу).

сортировать сотню-другую фоток им заколдобишься.

А, я таким не страдаю: сразу скидываю помесячно фотки, пробегаюсь с удалением явного говна, и хай себе лежат.

следует различать беглый просмотр pdf с помощью mupdf и вдумчивое изучение окуляром

Есть такое, увы, mupdf слабоват, приходится иной раз окуляр запускать. Но просто почитать — mupdf отличен, быстро запускается и не тупит!





Интересно, до чего там ТС дошел? Смог с помощью ffmpeg закатать или же что-то другое выбрал?

anonymous
()
Ответ на: комментарий от anonymous

Лисапед простейший:

#!/bin/sh
mkv_out=/tmp/screencast.mkv
gif_out=/tmp/screencast.gif
pal_out=/tmp/screenpal.png
pkill ffmpeg && exit 0
sleep 1
xrectsel |\
awk '{split($0,x,"+");print x[1],x[2],x[3]}' |\
xargs -n3 sh -c 'ffmpeg -y -f x11grab -s $0 -framerate 25 -i $DISPLAY+$1,$2 '$mkv_out\
';notify-send "Screencast complete!" "Converting to gif ..."'\
';ffmpeg -y -i '$mkv_out' -vf fps=25,palettegen '$pal_out\
';ffmpeg -y -i '$mkv_out'  -i '$pal_out' -filter_complex "fps=15,paletteuse" '$gif_out
notify-send "GIF created!" "$gif_out"
copy_path=$(zenity --file-selection --save --confirm-overwrite)
test $copy_path && cp $gif_out $copy_path
xrectsel вот отсюда:
https://github.com/lolilolicon/xrectsel
но вполне может быть где-то и опакечен.
zenity, если что, опционален (можно просто выкинуть последние две строки).
копипастим этот шедевр сумрачного анонимного гения в какой-нить screencast.sh (не забываем про chmod +x), в i3/conf добавляем биндинг:
bindsym $mod+control+r exec sh -c '/usr/local/bin/screencast.sh'
Profit!
https://imgur.com/a/TMImO

anonymous
()
Ответ на: комментарий от anonymous

А как прервать запись?

Запустить еще раз:

pkill ffmpeg && exit 0

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.