использование
ffmpeg -i "nlm%2d.png" -filter_complex "zoompan=d=4/3:fps=1/3,framerate=25:interp_start=0:interp_end=255:scene=100, fps=10,split=2[pal][vid];[pal]palettegen[pal];[vid]fifo[vid]; [vid][pal]paletteuse" -y out.gif
Я прекрасно провожу время, пересматривая ffmpeg и возясь с ним, но кто-нибудь может мне помочь с оптимизацией процесса 'неподвижное изображение / добавить кроссфейд / сохранить как gif', пожалуйста?
Я пытаюсь избавиться от необходимости конвертировать неподвижные изображения в промежуточный видеофайл (для добавления плавного перехода) перед чтением видео для извлечения файла палитры GIF, а затем повторным чтением, чтобы преобразовать видео в GIF., (Мои усилия неприятно видеть, и файл палитры пока не читается).
Кто-нибудь может сказать нам, возможно ли использовать подпрограмму создания видео ниже для подачи создания палитры, а затем - финального gif-файла напрямую? (Или взять поток палитры и выполнить работу за один проход?) Это не значит, что rm и del не являются опциями, зависящими от системы, но чем меньше промежуточных процессов, тем меньше будет ошибок, когда моя спина повернута.
ffmpeg -i "nlm%2d.png" -vf zoompan=d=4/3:fps=1/3,framerate=25:interp_start=0:interp_end=255:scene=100 - c:v mpeg4 -b:v 5M -q:v 0 out.mp4 F:\Users\QuinB\WF - ffmpeg\crossfade>dir 13/11/2018 21:35 28,553 nlm01.png 13/11/2018 21:35 26,351 nlm02.png 13/11/2018 21:35 28,400 nlm03.png 13/11/2018 21:35 31,235 nlm04.png 13/11/2018 21:35 34,553 nlm05.png 14/11/2018 11:50 1,177,150 out.mp4
Создав файл mp4, мы используем хорошо известную (и почти неизмененную) последовательность:
ffmpeg -v warning -i out.mp4 -vf fps=10,palettegen -y out_palette.png ffmpeg -v warning -i out.mp4 -i out_palette.png -lavfi "fps=10[x]; [x][1:v] paletteuse" -y out.gif
Благодаря форуму людей, которые поделились своими знаниями и уже были ответственны за большую часть моего образования ffmpeg. QB
Источники: FFMPEG Промежуточное руководство / последовательность изображений
использование
ffmpeg -i "nlm%2d.png" -filter_complex "zoompan=d=4/3:fps=1/3,framerate=25:interp_start=0:interp_end=255:scene=100, fps=10,split=2[pal][vid];[pal]palettegen[pal];[vid]fifo[vid]; [vid][pal]paletteuse" -y out.gif