Как я могу преобразовать анимированный 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/
,