У меня есть анимированный gif, и я хотел бы отключить прошлые 5 секунд. Кто-либо знает, как сделать это в Linux/Ubuntu?
Существует несколько способов сделать это.
Опция 1: Использование инструмент командной строки, названный gifsicle. Это доступно в репозиториях Ubuntu/Debian по умолчанию.
Это быстро и не будет влиять на качество, купит это только принимает числа кадра, не время, поэтому если необходимо сократить точное время, необходимо выяснить число кадра сами. Можно просмотреть общее количество кадров и задержать времена между каждым кадром с этой командой:
gifsicle --info YOURFILE.gif
Затем можно разделить время, которое Вы хотите сократить с задержкой кадра, и она даст Вам количество кадров в это время, таким образом, можно будет выяснить, запускают кадр конца и кадр.
Замена XXXX с кадром, где Вы хотите, чтобы Ваш GIF запустился, и YYYY с кадром, где Вы хотите, чтобы Ваш GIF закончился.
gifsicle YOURFILE.gif '#XXXX-YYYYY' -O3 > cut.gif
Опция 2: Используя FFMPEG. Это также доступно в Кв.
FFMPEG принимает время непосредственно, таким образом, это очень просто, но это может ухудшить качество вывода gif и увеличить размер файла в некоторых случаях.
ffmpeg -i YOURFILE.gif -ss 00:00:04 -t 00:00:08 -async 1 cut.gif
Опция 3: , если Вы соглашаетесь с сетевыми инструментами и Вашим GIF, не превышает 20 МБ, , этот сетевой инструмент может сократить GIFs числом кадра или ко времени и не будет влиять на качество.