У меня уже есть эта работа, преобразовав исходное видео в GIF с помощью:
ffmpeg -y -t 5 source.mp4 -vf fps=10,scale=480:-1,smartblur=ls=-0.5,crop=iw:ih-2:0:0 -hide_banner -loglevel panic output.gif
И затем преобразовав GIF в MP4, вот так:
ffmpeg -y animated.gif -hide_banner -pix_fmt yuvj420p -loglevel panic -an -loglevel panic final.mp4
То, что я хочу, это преобразовать source.mp4
напрямую в final.mp4
и иметь ту же цветовую палитру 256, что и в обычном формате GIF.
Я попытался объединить обе команды вместе, и хотя он генерирует MP4, в результате получается 16-битное видео удивительно меньше, чем 8-битное видео.
Нужно ли сначала создавать палитру с помощью palettegen
, а затем перекодировать видео с помощью этой палитры?