- Published on
WebPファイルをjpg/pngファイルに変換するには
webpファイルはモダンなウェブ技術の一つで、Googleが近年開発したコンパクトで容量を抑えた、ウェブサービスに優しいファイルフォーマットであるとされています。 サイト管理者からすれば便利かもしれませんが、一般的にはまだまだ対応が完全ではありません。例えばあるサイトにアップロードできるサイトはjpg/pngフォーマットのみであり、webpフォーマットをそのままアップロードすることはできない、といったことです。
webpファイルをjpg/pngファイルに変換するには、以下の2つの方法があります。
ffmpegで変換
ffmpegはだいたいどんな人でもインストールされてると思います。 以下のようにwebpファイルをjpgファイルへ変換します。
ffmpeg -i file.webp out.jpg
インストールがまだの場合はインストールしましょう
sudo apt update ; sudo apt install ffmpeg -y
WSL環境やLinux環境がなくWindows上にインストールしたい場合はchocoを使うといいですね chocolateyのインストールと使い方については他の記事にて紹介しています。当ブログの検索機能を利用してください。
choco install ffmpeg
dwebpで変換
webpパッケージに入っているdwebpコマンドを利用してwebp変換をする方法です。
webpをインストール
sudo apt update ; sudo apt install webp -y
以下のように使用して変換をしましょう
dwebp file.webp -o abc.png
余談ですが"dwebp"の"d"は"decompress"です。
なお、ffmpegでの変換はjpgファイルには良いけど、pngには出力ファイルが大きくなるという不具合があるようです。png変換の場合にはdwebpを使うほうが良いでしょう。
It is good for jpg image, but png format is very large
(参考)
imagemagick - convert webp to jpg error: "no decode delegate for this image format" and "missing an image filename" - Unix & Linux Stack Exchangeフォルダの全てのwebpファイルをjpgに変換する
以下、応用の使用例です。 以下スクリプトで、フォルダの全てのwebpファイルをjpgに変換しましょう。
for i in *.webp; do ffmpeg -y -i "$i" "$(basename "${i%.*}").jpg"; done;
フォルダにwebpファイルが追加されたら即時jpgに変換する
応用の使用例です。
シンプルな、フォルダにwebpファイルが追加されたら即時jpgに変換してwebpファイルを削除する、というスクリプトを書きました。便利なので使ってどうぞ。
以下スクリプトをtmp.shに保存します
for i in *.webp; do ffmpeg -y -i "$i" "$(basename "${i%.*}").jpg"; done; rm *.webp
nodemonを使いフォルダに変更があった場合にそれを検知し、tmp.shのスクリプトを適時実行します
nodemon -e webp --exec ./tmp.sh
nodemonのインストールがまだの場合はインストールしましょう nvmを使用してのnode.jsおよびnpmのインストールについては他の記事にて紹介しています。当ブログの検索機能を利用してください。
npm i -g nodemon
- Authors
- Name
- Shou Arisaka / 有坂 翔
- 情報技術者 / Z世代プログラマー / 米大学院にてデータサイエンスを学ぶ
- ITプロフェッショナルとして活動しています。React.js等のモダンなウェブ制作・アプリ開発を得意としており、Java・Python・Rust等のプログラミング言語を用いたソフトウェア開発全般を行っています。
- Github 🐙StackOverflow 🔥Qiita 📝
- TechFreeTools 🔧About.me 👤