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