APNGと並んで互換性の低かったAnimated WebPについて。対応ブラウザは、Chrome、Opera、Winodws 10のMicrosoft Edge44以降、そしてFirefox 65以降である。画像投稿サイトはほとんど対応してないと思うので実用性は高くない。対応カラーフォーマットは YUV420p(YUVA420p)。APNGのように可逆圧縮だけではないので低容量でアニメGIFよりも高画質に作れるが互換性が低いのが弱点。
2019年2月現在、ffmpegではAnimated WebPをデコードできない。1フレームのWebpならデコードできる。
#4907 (Support decoding animated WebP images) – FFmpeg
基本コマンド
ffmpeg -i input -vcodec libwebp -lossless 0 -qscale:v 75 -preset default -loop 1 -an -vsync 0 output.webp
公式ドキュメント:FFmpeg Codecs Documentation : libwebp
オプション
- -lossless[int]
可逆圧縮指定
既定値:0(1が可逆圧縮) - -compression_level
圧縮率の指定。数値が高いほど高圧縮でエンコードに時間がかかる
既定値:4
範囲:0から6まで - -qscale(-q:v)、-quality
圧縮品質の指定。数値が高いほど高画質。不可逆圧縮時に高い数値だとエンコードが長時間の高画質で大容量。可逆圧縮指定に高い数値だとエンコードが長時間で低容量
既定値:75
範囲:0から100まで - -preset[int]
プリセットの指定。既定値では自動指定 - -1, none:プリセットを使わない
- 0, default:自動指定
- 1, picture:人物写真
- 2, photo:風景写真
- 3, drawing:線画など
- 4, icon:小さなサイズで色彩豊富
- 5, text:文字が中心
- -loop
ループ回数。(0 が無限)
既定値:1
指定フレームだけを出力する場合はtrim
フィルタを使い、リサイズや、フレームレートを減らすにはscale, fps
フィルタを使う。
ffmpeg -i input -vf scale=320:-2,fps=15 -c:v libwebp -lossless 0 -qscale:v 75 -preset default -loop 1 -an -vsync 0 output.webp