Jinsi ya kuunda picha za animated za GIF za skrini?


Nenda kwa jibu lililokubaliwa


Nimeona picha za animated za GIF za saruji za skrini (kama ile iliyo hapo chini) ilikuza mara chache kwenye wavuti hii kama njia ya kuboresha majibu.


Picha ya GIF ya Uhuishaji

Je! Ni zana gani inayotumika kuunda hizi? Je! Kuna mpango ambao hufanya hivi kwa urahisi, au watu wanachukua skrini, kuzibadilisha kuwa safu ya muafaka tuli, na kisha kuunda picha za GIF?


482





2012-02-25




Idadi ya majibu: 15


Peek

Ni programu mpya ambayo hukuruhusu kurekodi GIF kutoka skrini yako.


onyesho la skrini

Kwa hivyo, kumbuka kuwa GIF zina rangi ndogo sana hivyo sio wazo nzuri sana kuzitumia.

Tangu Ubuntu 18.10 unaweza kufunga Peek moja kwa moja.

 sudo apt install peek
 

Kwa matoleo ya zamani ya Ubuntu, unaweza kusanikisha toleo la hivi karibuni la Peek kutoka PPA yake .

 sudo add-apt-repository ppa:peek-developers/stable
sudo apt update
sudo apt install peek
 

Pata habari zaidi katika repit ya GitHub .


278


2016-10-06

Byzanz

Programu bora ambayo nimewahi kupata kurekodi skrini za GIF ni Byzanz.

Byzanz ni nzuri kwa sababu inarekodi moja kwa moja kwa GIF, ubora na ramprogrammen ni ya kuvutia wakati wa kudumisha saizi ya faili kwa kiwango kidogo.

Ufungaji

Byzanz sasa inapatikana kutoka hazina ya ulimwengu:

 sudo apt-get install byzanz
 

Matumizi

Wakati imewekwa unaweza kuiendesha kwenye terminal.

Huu ni mfano mdogo nilifanya hivi sasa na

 byzanz-record --duration=15 --x=200 --y=300 --width=700 --height=400 out.gif
 


ingiza maelezo ya picha hapa


272


2012-04-19

Kwanza sasisha hii:

 sudo apt-get install imagemagick mplayer gtk-recordmydesktop
 

hizo ni vitu vinavyohitajika, ImageMagick, MPlayer na Recorder ya Desktop. Kisha utumie Recorder ya Desktop kukamata sehemu ya skrini / programu ya kutumia kama skrini. Baada ya Recorder ya Desktop ihifadhi kurekodi kuwa video ya OGV , MPlayer itatumika kunasa skrini za JPEG, kuzihifadhi kwenye saraka ya 'matokeo'.

Kwenye terminal:

 mplayer -ao null <video file name> -vo jpeg:outdir=output
 

Tumia ImageMagick kubadilisha viwambo kuwa gifs za animated.

 convert output/* output.gif
 

unaweza kuongeza viwambo hivi:

 convert output.gif -fuzz 10% -layers Optimize optimised.gif
 

236


2012-02-25

Maelezo ya jumla

Jibu hili lina maandiko matatu ya ganda:

  1. byzanz-record-window - Ili kuchagua dirisha kwa kurekodi.
  2. byzanz-record-region - Ili kuchagua sehemu ya skrini kwa kurekodi.
  3. Mwisho rahisi wa GUI wa 1, na MHC .

Utangulizi

Asante Bruno Pereira kwa kunitambulisha kwa byzanz ! Ni muhimu kabisa kwa kuunda michoro za GIF. Rangi zinaweza kuwa mbali katika hali zingine, lakini ukubwa wa faili hufanya hivyo. Mfano: sekunde 40, 3.7Mb .

Matumizi

Okoa moja / hati zote mbili zifuatazo kwenye folda iliyo ndani yako $PATH . Hapa kuna mfano wa kutumia hati ya kwanza kutengeneza skrini ya dirisha fulani.

  1. Kimbia byzanz-record-window 30 -c output.gif
  2. Nenda kwa windows (arab-tab) unayotaka kukamata. Bonyeza juu yake.
  3. Subiri sekunde 10 (zilizowekwa ngumu ndani $DELAY ), ambazo hujiandaa kwa kurekodi.
  4. Baada ya beep (iliyofafanuliwa katika beep kazi), byzanz itaanza.
  5. Baada ya sekunde 30 (hiyo ndio maana ya 30 katika hatua 1), byzanz inaisha. Beep itatangazwa tena.

Nilijumuisha -c bendera byzanz-record-window kuonyesha kwamba hoja yoyote kwa hati yangu ya ganda inajibiwa byzanz-record yenyewe. -c Bendera anaelezea byzanz kujumuisha kishale katika skrini.
Tazama man byzanz-record au byzanz-record --help kwa maelezo zaidi.

byzanz-record-window

 #!/bin/bash

# Delay before starting
DELAY=10

# Sound notification to let one know when recording is about to start (and ends)
beep() {
    paplay /usr/share/sounds/KDE-Im-Irc-Event.ogg &
}

# Duration and output file
if [ $# -gt 0 ]; then
    D="[email protected]"
else
    echo Default recording duration 10s to /tmp/recorded.gif
    D="--duration=10 /tmp/recorded.gif"
fi
XWININFO=$(xwininfo)
read X <<< $(awk -F: '/Absolute upper-left X/{print $2}' <<< "$XWININFO")
read Y <<< $(awk -F: '/Absolute upper-left Y/{print $2}' <<< "$XWININFO")
read W <<< $(awk -F: '/Width/{print $2}' <<< "$XWININFO")
read H <<< $(awk -F: '/Height/{print $2}' <<< "$XWININFO")

echo Delaying $DELAY seconds. After that, byzanz will start
for (( i=$DELAY; i>0; --i )) ; do
    echo $i
    sleep 1
done

beep
byzanz-record --verbose --delay=0 --x=$X --y=$Y --width=$W --height=$H $D
beep
 

byzanz-record-region

Utegemezi: xrectsel kutoka xreturesel . Clone uhifadhi na ukimbie make kupata kinachoweza kutekelezwa. (Ikiwa inadhihirisha kuwa hakuna faili, endesha ./bootstrap na ./configure kabla ya kukimbia `fanya).

 #!/bin/bash

# Delay before starting
DELAY=10

# Sound notification to let one know when recording is about to start (and ends)
beep() {
    paplay /usr/share/sounds/KDE-Im-Irc-Event.ogg &
}

# Duration and output file
if [ $# -gt 0 ]; then
    D="[email protected]"
else
    echo Default recording duration 10s to /tmp/recorded.gif
    D="--duration=10 /tmp/recorded.gif"
fi

# xrectsel from https://github.com/lolilolicon/xrectsel
ARGUMENTS=$(xrectsel "--x=%x --y=%y --width=%w --height=%h") || exit -1

echo Delaying $DELAY seconds. After that, byzanz will start
for (( i=$DELAY; i>0; --i )) ; do
    echo $i
    sleep 1
done
beep
byzanz-record --verbose --delay=0 ${ARGUMENTS} $D
beep
 

Toleo la Gui la byzanz-record-window

(maoni na MHC ): Nimechukua uhuru wa kurekebisha hati na mazungumzo rahisi ya GUI

 #!/bin/bash

# AUTHOR:   (c) Rob W 2012, modified by MHC (https://askubuntu.com/users/81372/mhc)
# NAME:     GIFRecord 0.1
# DESCRIPTION:  A script to record GIF screencasts.
# LICENSE:  GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
# DEPENDENCIES:   byzanz,gdialog,notify-send (install via sudo add-apt-repository ppa:fossfreedom/byzanz; sudo apt-get update && sudo apt-get install byzanz gdialog notify-osd)

# Time and date
TIME=$(date +"%Y-%m-%d_%H%M%S")

# Delay before starting
DELAY=10

# Standard screencast folder
FOLDER="$HOME/Pictures"

# Default recording duration
DEFDUR=10

# Sound notification to let one know when recording is about to start (and ends)
beep() {
    paplay /usr/share/sounds/freedesktop/stereo/message-new-instant.oga &
}

# Custom recording duration as set by user
USERDUR=$(gdialog --title "Duration?" --inputbox "Please enter the screencast duration in seconds" 200 100 2>&1)

# Duration and output file
if [ $USERDUR -gt 0 ]; then
    D=$USERDUR
else
    D=$DEFDUR
fi

# Window geometry
XWININFO=$(xwininfo)
read X < <(awk -F: '/Absolute upper-left X/{print $2}' <<< "$XWININFO")
read Y < <(awk -F: '/Absolute upper-left Y/{print $2}' <<< "$XWININFO")
read W < <(awk -F: '/Width/{print $2}' <<< "$XWININFO")
read H < <(awk -F: '/Height/{print $2}' <<< "$XWININFO")

# Notify the user of recording time and delay
notify-send "GIFRecorder" "Recording duration set to $D seconds. Recording will start in $DELAY seconds."

#Actual recording
sleep $DELAY
beep
byzanz-record -c --verbose --delay=0 --duration=$D --x=$X --y=$Y --width=$W --height=$H "$FOLDER/GIFrecord_$TIME.gif"
beep

# Notify the user of end of recording.
notify-send "GIFRecorder" "Screencast saved to $FOLDER/GIFrecord_$TIME.gif"
 

138


2012-10-14

ffmpeg
Weka ffmpeg

Moja ya zana bora ninayotumia ni ffmpeg . Inaweza kuchukua video nyingi kutoka kwa skrini ya skrini kama vile kazam na kuibadilisha kuwa muundo mwingine.

Weka hii kutoka kwa kituo cha programu - imewekwa otomatiki ikiwa utasanikisha ubuntu-restricted-extras kifurushi bora .

Kazam inaweza kutoa mazao katika muundo wa video mp4 au webm . Kwa jumla unapata matokeo bora yanatoa mp4 muundo.

mfano GIF kutengeneza syntax

Syntax ya msingi ya kubadilisha video kuwa gif ni:

 ffmpeg -i [inputvideo_filename] -pix_fmt rgb24 [output.gif]
 

GIF zilizogeuzwa - haswa zile zilizo na kiwango 25-259 kwa sekunde zinaweza kuwa kubwa sana. Kwa mfano - 800Kb webm 15-pili video katika 25fps inaweza kutoa kwa 435Mb!

Unaweza kupunguza hii kwa njia kadhaa:

laini

Tumia chaguo -r [frame-per-second]

kwa mfano ffmpeg -i Untitled_Screencast.webm -r 1 -pix_fmt rgb24 out.gif

Saizi imepunguzwa kutoka 435Mb hadi 19Mb

ukubwa wa faili

Tumia chaguo -fs [filesize]

kwa mfano ffmpeg -i Untitled_Screencast.webm -fs 5000k -pix_fmt rgb24 out.gif

Kumbuka - hii ni takriban saizi ya faili ya pato kwa hivyo saizi inaweza kuwa kubwa kidogo kuliko ilivyoainishwa.

saizi ya video ya pato

Tumia chaguo -s [widthxheight]

kwa mfano ffmpeg -i Untitled_Screencast.webm -s 320x200 -pix_fmt rgb24 out.gif

Hii ilipunguza mfano wa video 1366x768 chini hadi 26Mb

kitanzi milele

Wakati mwingine unaweza kutaka GIF ifungue milele.

Tumia chaguo -loop_output 0

ffmpeg -i Untitled_Screencast.webm -loop_output 0 -pix_fmt rgb24 out.gif

kuongeza zaidi na kunyaa

ikiwa unatumia imagemagick convert na sababu ya fuzz kati ya 3% na 10% basi unaweza kupunguza ukubwa wa picha

 convert output.gif -fuzz 3% -layers Optimize finalgif.gif
 

mwishowe

changanya baadhi ya chaguzi hizi ili kupunguza kwa kitu kinachoweza kusimamiwa kwa Uliza Ubuntu.

ffmpeg -i Untitled_Screencast.webm -loop_output 0 -r 5 -s 320x200 -pix_fmt rgb24 out.gif

Ikifuatiwa na

 convert output.gif -fuzz 8% -layers Optimize finalgif.gif
 

mfano


ingiza maelezo ya picha hapa


51


2012-03-05

Kimya

Silentcast ni zana nyingine nzuri ya msingi ya kuunda picha za animated .gif. Vipengele vyake ni pamoja na:

  • Njia 4 za kurekodi:

    1. Skrini nzima

    2. Ndani ya dirisha

    3. Dirisha na mapambo

    4. Uchaguzi maalum

  • Fomati 3 za pato:

    1. .gif

    2. .mp4

    3. .webm

    4. .png (muafaka)

    5. .mkv

  • Hakuna ufungaji muhimu (portable)

  • Saraka ya kufanya kazi maalum

  • Fps maalum

Ufungaji

Ikiwa unataka usanikishaji wa kawaida na unaendesha toleo linalosaidiwa la Ubuntu unaweza kufunga Silentcast na PPA:

 sudo add-apt-repository ppa:sethj/silentcast  
sudo apt-get update  
sudo apt-get install silentcast  
 

Ikiwa hautatumia toleo la mkono la Ubuntu (unapaswa kusasisha!) Utahitaji kupakua toleo la hivi karibuni kutoka ukurasa wa GitHub na kuridhisha kibinadamu kwa kutegemea (unaweza kununua yad na ffmpeg kutoka hapa na hapa kwa mtiririko huo) au, ikiwa unaendesha toleo la hivi karibuni zaidi kama vile 13.10 unaweza kujaribu kupakua .deb moja kwa moja .

Ikiwa unatumia Gnome unaweza kutaka kusanidi viambishio vya Topicons ili kuzuia Silentcast iwe rahisi.

Matumizi

Anzisha kimya kutoka kwa gui ya mazingira ya desktop yako au endesha silentcast agizo katika terminal. Chagua mipangilio yako na ufuate pendekezo la skrini. Unapomaliza kurekodi utawasilishwa na mazungumzo kwa kuongeza matokeo ya mwisho kwa kuondoa idadi fulani ya fremu.

Kwa zaidi katika mwongozo wa utumiaji wa kina angalia README, ama toleo la online la GitHub au toleo la ndani lililohifadhiwa /usr/share/doc/silentcast na mhariri bila mpangilio au mpendwa wako.


Mfano

Vidokezo:

Silentcast bado iko kwenye hatua ya maendeleo na ingawa ni sawa kabisa unaweza kukutana na mende. Ikiwa utafanya tafadhali ripoti yao juu ya tracker ya masuala ya GitHub ya tracker . Ikiwa unashida kusanikisha kutoka PPA na unaendesha toleo linaloungwa mkono la Ubuntu acha maoni hapo chini au wasiliana na mtoaji (mimi) kwenye Launchpad.


34


2014-10-29

Kuna kila aina ya njia ngumu na zinazofanya kazi vizuri (labda) ya kufanya hivi hapa. Walakini, sijawahi kutaka kupitia mchakato huo hapo awali wala tangu hapo. Kwa hivyo, mimi hutumia kibadilishaji mkondoni ambacho kinastahili mahitaji yangu mara chache ninahitaji kufanya hivyo. Nimetumia wavuti hii:

http://ezgif.com/video-to-gif

Sio tovuti yangu na sina uhusiano nao kwa njia yoyote. Ni moja tu katika alamisho zangu na kuna mengi zaidi.


8


2015-10-17

Niliunda record-gif.sh , toleo lililoboreshwa la Rob W's byzanz-record-region :

GUI inayongoka kwa byzanz , iliboresha uzoefu wa mtumiaji ( eneo linaloweza kuchagua kipanya , rekodi ya maendeleo ya rekodi, kurekodi uwezo wa uchezaji ).


rekodi desktop na ganda

  • kuweka rekodi duration ;
  • kuweka save_as marudio;
  • chagua - na panya- eneo la kurekodi;
  • tengeneza hati mbadala ya kurekodi (cf. $HOME/record.again ).

Weka

Pia niliunda hati ya usanidi

 curl --location https://git.io/record-gif.sh | bash -
 

8


2016-10-06

  1. Weka vifurushi 3 hivi: imagemagick mplayer gtk-recordmydesktop
  2. Run Recorder ya Desktop kukamata sehemu ya skrini / programu ya kutumia kama skrini
  3. Pakua ogv2gif.sh kutoka https://github.com/nicolas-raoul/ogv2gif
  4. Run: ./ogv2gif.sh yourscreencast.ogv
  5. Faili ya GIF itawekwa kwenye saraka sawa

100% imehamasishwa kutoka kwa jibu la maniat1k .


4


2016-06-30

Ikiwa unataka kupata fancier zaidi, unaweza kutumia njia ya kisasa zaidi kuliko vipawa vibonzo kutumia HTMl5 canvas screencasting. Mradi wa x11-canvas-screencast utaunda picha ya skrini ya html5.

Inawezekana umeona mifano kadhaa maarufu ya teknolojia hii kwenye wavuti ya Maandishi ya Sublime. x11-canvas-screencast inachukua njia hii hatua zaidi kwa kuingiza ufuatiliaji wa mshale wa panya. Hapa kuna mfano wa nini x11-canvas-screencast inazalisha

Matokeo yake ni bora kuliko kipawa cha animated kwani sio mdogo kwa idadi ya rangi inayo na inachukua chini ya upelekaji wa data.


3


2015-09-22

Sawa, ili kuweza kunasa pia kubonyeza kwa panya, kitu pekee nilichokuwa nikipata key-mon (kupitia ReadME ya screenkey ):

Basi mimi:

  • Anza key-mon
  • Tumia xrectsel kupata kuratibu za skrini ziwe kwenye byzanz amri
  • Run byzanz amri

... na inaonekana aina kama hii:


nje.gif

Kumbuka ambayo key-mon --visible_click ingechora duara kuzunguka pointer ya panya juu ya kubonyeza kwa panya - ambayo ningependelea, lakini katika Ubuntu 14.04.5 LTS hii imevunjwa, kwa kuwa mduara huu hauonekani na hupotea haraka ili kuonyesha kielelezo kwa ubofya. mashini ya panya na kutolewa).


3


2016-08-24

Hivi majuzi nimeunda toleo la pamoja la hati tayari zilizowekwa hapa.
Kimsingi, hukuruhusu kurekodi eneo la skrini, lakini na GUI rahisi.

Asante kwa Rob W kwa kutoa maandishi hayo mazuri

Hapa kuna nambari (au gist ikiwa unapenda):

 #!/bin/bash

#Records selected screen region, with GUI

#This is combined version of GIF recording scripts, that can be found here: https://askubuntu.com/questions/107726/how-to-create-animated-gif-images-of-a-screencast
#Thanks to Rob W, and the other author (unmentioned), for creating this lovely scripts

#I do not own any rights to code I didn't write
#                                     ~Jacajack

DELAY=5 #Delay before starting
DEFDUR=10 #Default recording duration
TIME=$(date +"%Y-%m-%d_%H%M%S") #Timestamp
FOLDER="$HOME/Pictures/Byzanz" #Default output directory

#Sound notification to let one know when recording is about to start (and ends)
beep() {
    paplay /usr/share/sounds/freedesktop/stereo/message-new-instant.oga &
}

#Custom recording duration as set by user
USERDUR=$(gdialog --title "Duration?" --inputbox "Please enter the screencast duration in seconds" 200 100 2>&1)

#Duration and output file
if [ $USERDUR -gt 0 ]; then
    D=$USERDUR
else
    D=$DEFDUR
fi

#Get coordinates using xrectsel from https://github.com/lolilolicon/xrectsel
REGION=$(xrectsel "--x=%x --y=%y --width=%w --height=%h") || exit -1

notify-send "GIFRecorder" "Recording duration set to $D seconds. Recording will start in $DELAY seconds."

for (( i=$DELAY; i>0; --i )) ; do
    sleep 1
done

#Record
beep
byzanz-record --cursor --verbose --delay=0 ${REGION} --duration=$D "$FOLDER/byzanz-record-region-$TIME.gif"
beep

notify-send "GIFRecorder" "Screencast saved to $FOLDER/byzanz-record-region-$TIME.gif"
 

2


2016-05-26

Ikiwa pia unataka rekodi zinazoonekana za mibofyo ya panya au viboko muhimu, basi skrini ni bet yako bora: https://github.com/wavexx/screenkey


2


2016-06-12

Tumia gtk-recordmydesktop na ffmpeg :

apt-get install gtk-recordmydesktop ffmpeg

Run RecordMyDesktop nyakua sehemu ya skrini / matumizi ili kutumia kama skrini:

 gtk-recordmydesktop
 

Unda ogv2gif.sh na yaliyomo yafuatayo:

 INPUT_FILE=$1
FPS=15
WIDTH=320
TEMP_FILE_PATH="~/tmp.png"
ffmpeg -i $INPUT_FILE -vf fps=$FPS,scale=$WIDTH:-1:flags=lanczos,palettegen $TEMP_FILE_PATH
ffmpeg -i $INPUT_FILE -i $TEMP_FILE_PATH -loop 0 -filter_complex "fps=$FPS,scale=$WIDTH:-1:flags=lanczos[x];[x][1:v]paletteuse" $INPUT_FILE.gif
rm $TEMP_FILE_PATH
 

Itumie :

 ./ogv2gif.sh yourscreencast.ogv
 

Marejeo:


1


2017-02-14

Ninajaribu njia yote hapo juu, nimeona moja rahisi zaidi ni:

  1. tumia gtk-recordmydesktop na ufunguo-mon kupata ogv
  2. ffmpeg -i xx.ogv xx.gif <- bila param yoyote .

fps ni ya asili, na saizi ya gif ni chini ya faili ya ogv.


1


2017-03-10