La ligne de commande convertit webp en jpg?

62

J'utilise Ubuntu 12.04. J'ai installé libwebp2&libwebp-dev

Jusqu'à présent, aucun exemple trouvé sur le net de conversion de webp en jpg.

Certains fichiers webp peuvent facilement être convertis en utilisant imagemagick avec la commande

convert file.webp file.jpg

mais beaucoup de fichiers webp ne peuvent pas être convertis et donnent une erreur:

convert: no decode delegate for this image format `file.webp' @ error/constitute.c/ReadImage/532.
convert: missing an image filename `file.jpg' @ error/convert.c/ConvertImageCommand/3011.

--------ajoutée

Ceci est le fichier: http://www.filedropper.com/file_144

apasajja
la source
Pourriez-vous poster certains des fichiers qui ne peuvent pas être convertis afin que nous puissions essayer?
terdon
Des erreurs lorsque ImageMagick ne parvient pas à convertir?
Dartonw
@dartonw Erreur a été mis à jour
apasajja
@terdon Je n'ai aucune idée de tout support d'hébergement d'image webp
apasajja
Étrange que la messagerie instantanée convertisse certains fichiers webp et pas d’autres. Ceux qui échouent peuvent-ils être visualisés dans un navigateur ou un éditeur d'image (ils sont peut-être corrompus)? Comment avez-vous installé la messagerie instantanée? Si je comprends bien, il doit être spécifiquement compilé avec le support Webp après l’installation de libwebp [-devel].
mardi

Réponses:

85

Google a déjà fourni l'outil permettant de décoder les images webp dans le libwebppackage, votre fichier téléchargé fonctionne sur Arch.

dwebp file.webp -o abc.png

Pour l'outil de codage, vérifiez la cwebpcommande.

Dans Ubuntu, vous pouvez installer les outils avec:

sudo apt install webp

Sur RHEL / CentOS:

 yum install libwebp libwebp-tools

Et vous pourriez envisager d' utiliser cet outil en ligne .

Marguerite
la source
7
Malheureusement, dwebp ne convertit que webp en png, mais pas en jpg.
Rumpel
2
@rumpel thx, le fichier .jpg n'a pas été ouvert, mais lorsque j'ai mis le fichier .png, cela a fonctionné!
Aquarius Power
3
Dans 14.04, j'avais besoin d'installer le paquet, webpil n'était pas disponible avant que je ne l'installe. J'étais confus parce que j'avais installé tous les paquets libwebpet libweb-dev.
TryTryAgain
1
Utilisez dwebppour webp-> png, puis convertpour png-> jpg. À l'aide d'un tuyau. dwebp 1.webp -o - | convert - 1.jpg
Steve
2
Pour Windows, utilisez la commande suivante pour% f in (* .webp) do dwebp.exe "% f" -o "% ~ nf.png"
Matija Grcic
29

ffmpeg peut le faire. Utile si vous avez déjà ffmpeg. Pas besoin d'installer d'autres outils.

Simplement:

ffmpeg -i file.webp out.png
Rishav
la source
Cela fonctionne, mais le png est 11x plus grand.
RonJohn le
18

Convertir tous les fichiers webp dans un répertoire

find ./ -name "*.webp" -exec dwebp {} -o {}.png \;

Remarque: dwebp est dans le paquet libwebp

Jeff McHale
la source
5
Pour Ubuntu 16.04, je devais l'installer avec sudo apt-get install webp.
PhoneixS
Je ne sais pas s’il s’agit d’une fonctionnalité ou d’un bogue, mais tous les fichiers seront enregistrés au file.webpg.pnglieu de simplementfile.png
Felix Rosén
C'est une fonctionnalité pour plus de simplicité ... J'ai un algorithme de hachage d'image qui renomme automatiquement les images, j'ai donc l'intention de renommer les fichiers en utilisant cet algorithme.
Jeff McHale
3

Depuis le répertoire contenant les webpfichiers:

for x in *.webp; do ffmpeg -i $x $x.jpg; done
Byram Sewell
la source
2
utiliser ${x%.webp}.jpgau lieu de $x.jpgsupprimer webp dans le nom de fichier cible (volé à stackoverflow.com/a/17844019/146745 )
andrej
1

Il existe un autre outil en ligne disponible ici qui peut vous aider:

mais si vous voulez un outil local, vous pouvez utiliser celui-ci:

et l'utiliser comme ça:

1) chmod a+x webpconv

2) ./webpconv -format PNG <YOUR_WEBP_FILE>.webp

La structure générale est comme ceci:

webpconv [-output_dir dir] [-format format] [-quality quality] input_file(s)

Exemple) Pour convertir une image .png en WebP avec une qualité de 90, vous devez entrer:

webpconv -quality 90 /home/user/image_name.png

et pour convertir un fichier WebP en PNG:

webpconv -format PNG /home/user/image_name.webp

Hojat Taheri
la source
1

J'ai trouvé cette méthode plus rapide pour mon besoin 1 fois.

  1. Prenez une capture d'écran avec l'image webp ouverte en chrome.
  2. Coller dans le programme de peinture.
  3. Recadrer et économiser.
PRS
la source
6
Le questionneur cherchait une solution de ligne de commande ...
jasonwryan
1
Je pense que cela pourrait être fait en tant que ligne de commande en utilisant Shutter et en prenant une capture d'écran d'une fenêtre sans décorations de fenêtres, le tout dans un script; ça pourrait être amusant de coder :)
Aquarius Power
0

Pour convertir plusieurs jpg en webp à l’aide de cwebp :

find ./ -name "*.jpg" -exec cwebp -q 70 {} -o {}.webp \

Action personnalisée thunar:

for file in %F; do cwebp "$file" -o "${file%%.*}".webp; done

Thunar Custom Action, déplacement des images webp dans un sous-dossier:

mkdir %d/webp && cd %d; for file in %N; do cwebp "$file" -o "webp/${file%%.*}".webp; done

Le paramètre de qualité par défaut de Cwebp est 75.

utilisateur8547
la source
0

installez le paquet webp avec sudo apt install webp, après cela cela devrait fonctionner.

törzsmókus
la source