Aby wziąć statycznego ekranu wybranej części mojego ekranu, często korzystać scrot
z -s shot.png
. Jest to świetne do dodawania ilustracji do postów StackExchange. Znalazłem nawet ten skrypt, aby automatycznie przesłać taki zrzut ekranu do Imgur.com i umieścić link w moim schowku X!
Zróbmy to do dwunastu : Jak podobnie stworzyć screencast GIF?
Tam są takie programy recordmydesktop
, byzanz
& CO omawiane na Zapytaj Ubuntu , których celem jest „przyjazny dla użytkownika”, ale z mojego doświadczenia są buggy, nieskuteczne, głównie unscriptable i nie nadają się do małych jednorazowych takie rzeczy.
Chcę tylko wybrać obszar i nagrać plik GIF za pomocą polecenia konsoli, które rozumiem, a nie jakiejś tajemnej, nieskryptowalnej potworności GUI.
Jak mogę to zrobić?
źródło
Odpowiedzi:
OK
Zacząłem
ffcast
, zrobiłemvim
, rzuciłemffcast
, a potemconvert
ed.avi
→.gif
.Uruchomiłem komendy nagrywania w innym terminalu. Dopracowany skrypt
$PATH
na końcu tej odpowiedzi.Co się stało?
Przechwytywanie
ffcast
to wspaniały produkt hakowania społeczności Arch Linux (głównie lolilolicon ). Możesz go znaleźć na github (lub w AUR for Arch ers). Jego lista zależności jest po prostubash
iffmpeg
, chociaż będziesz potrzebowaćxrectsel
( link AUR ) do interaktywnego wyboru prostokąta.Możesz także dołączyć
ffmpeg
flagi bezpośrednio po poleceniu. Ustawiłem-r 15
rejestrowanie z prędkością 15 klatek na sekundę i-codec:v huffyuv
bezstratne nagrywanie. (Graj z nimi, aby poprawić kompromis między rozmiarem a jakością.)GIFfing
ImageMagick może odczytywać
.avi
filmy i ma kilka sztuczek optymalizacji GIF, które drastycznie zmniejszają rozmiar pliku przy jednoczesnym zachowaniu jakości:-layers Optimize
Abyconvert
wywołać optymalizator ogólnego zastosowania. Podręcznik ImageMagick zawiera również stronę z zaawansowanymi optymalizacjami .Ostateczny skrypt
To właśnie mam w sobie
$PATH
. Zapisuje się w pliku tymczasowym przed konwersją.Dzięki BenC za detektywistyczną pracę przy ustalaniu poprawnych flag po ostatniej
ffcast
aktualizacji.Jeśli chcesz zainstalować zależności w dystrybucji opartej na Debianie, Louis napisał pomocne uwagi dotyczące instalacji .
źródło
ffcast
zmieniono składnię wiersza poleceń : github.com/lolilolicon/FFcast/issues/8ffcast -s rec [filename]
, choć nie daje to dokładnych ustawień, których używasz w swoim przykładzie. Niestety, aby podać dokładne ustawienia, musisz teraz podać całeffmpeg
polecenie. Twój telefon na temat najlepszego sposobu zaktualizowania tej odpowiedzi :)ffcast -s % ffmpeg -f x11grab -show_region 1 -framerate 20 -video_size %s -i %D+%c -codec:v huffyuv -vf crop="iw-mod(iw\\,2):ih-mod(ih\\,2)" $TMP_AVI
wydaje się, że załatwi sprawę.Dla mnie odpowiedź była do korzystania
ffcast
zffmpeg
tak:Potem robiłem
ffmpeg
konwersję z avi do gif - jest bardzo szybki i utrzymuje nienaruszoną szybkość klatek:Wreszcie użyłem przekształceniu w taki sam sposób jak @anko „s odpowiedź na optymalizację gif, ale ustawić limit wykorzystania zasobów, aby zatrzymać
convert
wychodzenia zkilled
komunikatem i usunąłem opóźnienie jakffmpeg
już obchodzić, że:źródło
To repozytorium pomaga ci stworzyć gif z regionu wyboru, a także zoptymalizować go dla ciebie
https://github.com/devlifeX/record-screen-gif
źródło
dla mojej instalacji (ubuntu 16.04), ffcast nie działa dobrze, ponieważ nie jest aktualizowany na githubie przez dłuższy czas.
więc ustawiłem skrypt za pomocą slop ( https://github.com/naelstrof/slop ) i ffmpeg.
przykład:
źródło
Z tego powodu napisałem interaktywny skrypt otoki dla komputerów z systemem Unix i po roku użytkowania chętnie go tam udostępnię!
Wykonane z
byzanz
,gifsicle
,xdotool
, a skrypt jest napisany w językuphp
.Przykładowe dane wyjściowe:
[1020px, nieskalowana szerokość gif 1020px, 70 sekund, 50 kolorów, 65Kb ]
Zapewnia dobre skompresowane gify i jest dobrą wizytówką tego pytania.
Jest to dość prosta baza, gotowa do zhakowania przez ciebie.
Funkcjonalności : nagrywanie gifów w pozycjach myszy lub na pełnym ekranie, zmiana rozmiaru, kompresja, kompresja kolorów, odwracanie / scalanie, przesyłanie curl giphy.com.
Aby rozpocząć 10-sekundowy rekord gif:
gif 10
Aby nagrywać wiele razy przy tych samych parametrach:
gif !
Aby rozpocząć pełny ekran 5-sekundowego rekordu gif:
gif 5 --fullscreen
Uruchomienie skryptu, przyjemnie nagrywając się:
[ 45 sekund, szerokość 645 pikseli, pełne kolory, 976 KB ]
Pełny skrypt 5 KB:
Możliwość odwracania / scalania w celu tworzenia artystycznych rzeczy.
Oryginalny (435kb)
Odwrócone, scalone: (826kb)
Aby zainstalować, używając phi :
Pełny ekran:
[1920 * 1080px, gif 400px, 50 sekund , 100 kolorów, 2 Mb ]
Źródło, z dodatkowymi wyjaśnieniami i potencjalnymi aktualizacjami: https://github.com/webdev23/gif
źródło