Как я могу преобразовать анимированный WebP в WebM?

Я хотел бы преобразовать анимированный файл WebP в WebM. Однако большинство инструментов поддерживают преобразование только в анимированные WebP, но не обратно, когда они вообще поддерживают анимированные WebP: ImageMagick's convert не поддерживает анимированный WebP, ffmpeg не поддерживает анимированный WebP, и webpmux поддерживает только извлечение одного кадра за один раз (насколько я могу судить).

Как я могу сделать это преобразование?

1 ответ

Поскольку пока что не существует какого-либо широко поддерживаемого способа сделать это:

  1. Установите anim_dump пример утилиты от libwebp, так как он не включен в webp пакет.
    1. Клонировать репо:git clone https://chromium.googlesource.com/webm/libwebp && cd libwebp,
    2. сила make строить anim_dump: echo "bin_PROGRAMS += anim_dump" >> examples/Makefile.am,
    3. Установите libwebp: ./autogen.sh && ./configure && make && sudo make install,
    4. добавлять /usr/local/lib на ваш путь компоновщика:echo "/usr/local/lib" |sudo tee -a /etc/ld.so.conf&& sudo ldconfig, Без этого anim_dump не побежит.
  2. Извлеките фреймы WebP в PNG, используя anim_dump, mkdir frames && cd frames && anim_dump ../example.webp && cd ..,
  3. Определите частоту кадров видео с помощью webpmux: webpmux -info ../example.webp, Используйте среднюю продолжительность кадров WebP в качестве частоты кадров WebM. Если ваш WebP не использует постоянную частоту кадров, вам придется как-то вручную справляться с длительностями.
  4. Создайте WebM с помощью ffmpeg: ffmpeg -framerate <my-framerate> -i frames/dump_%04d.png example.webm
  5. Очистить rm -r frames/,
Другие вопросы по тегам