Linha de comando converter webp para jpg?

62

Estou usando o ubuntu 12.04. Eu instalei libwebp2elibwebp-dev

Até agora, nenhum exemplo foi encontrado na rede de conversão de webp para jpg.

Alguns arquivos webp podem ser facilmente convertidos usando o imagemagick com o comando

convert file.webp file.jpg

mas muitos arquivos webp não podem ser convertidos e dão erro:

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.

-------- added

Este é o arquivo: http://www.filedropper.com/file_144

apasajja
fonte
Você poderia postar alguns dos arquivos que não podem ser convertidos para que possamos experimentar?
terdon
Algum erro quando o ImageMagick falha ao converter?
dartonw
O erro @dartonw foi atualizado
apasajja 30/03
@terdon Eu não tenho idéia qualquer imagem hospedagem apoio WebP
apasajja
Estranho que o IM converta alguns arquivos webp e outros não. Os que falham podem ser visualizados em um navegador ou editor de imagens (talvez estejam corrompidos)? Como você instalou o IM? AFAIK, ele precisa ser compilado especificamente com o suporte ao webp após a instalação do libwebp [-devel].
dartonw

Respostas:

85

O Google já forneceu a ferramenta para decodificar imagens de webp no libwebppacote, seu arquivo carregado funciona no Arch.

dwebp file.webp -o abc.png

Para a ferramenta de codificação, verifique o cwebpcomando.

No Ubuntu você pode instalar as ferramentas com:

sudo apt install webp

No RHEL / CentOS:

 yum install libwebp libwebp-tools

E você pode considerar usar esta ferramenta online .

margarida
fonte
7
Infelizmente, o dwebp apenas converte o webp em png, mas não em jpg.
Rumpel
2
@rumpel thx, ele não conseguiu abrir o .jpg, mas quando eu coloquei .png funcionou!
Aquarius Power
3
Na versão 14.04, eu precisava instalar o pacote webpque não estava disponível até a instalação. Eu estava confuso, porque eu tinha instalar todos os libwebpe libweb-devpacotes.
TryTryAgain
11
Use dwebppara webp-> png e, convertem seguida, para png-> jpg. Usando cano. dwebp 1.webp -o - | convert - 1.jpg
steve
2
Para Windows use o seguinte comando para% f in (* .webp) não dwebp.exe "% f" -o "% ~ nf.png"
Matija Grcic
29

O ffmpeg pode fazer isso. Útil se você já possui o ffmpeg. Não há necessidade de instalar outras ferramentas.

Simplesmente:

ffmpeg -i file.webp out.png
Rishav
fonte
Funciona, mas o png é 11x maior.
RonJohn
18

Converta todos os arquivos webp em um diretório

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

Nota: o dwebp está no pacote libwebp

Jeff McHale
fonte
5
Para o Ubuntu 16.04 eu precisava instalá-lo sudo apt-get install webp.
PhoneixS
Não sei se o recurso é um recurso ou um bug, mas todos os arquivos serão salvos como em file.webpg.pngvez de simplesmentefile.png
Felix Rosén
É um recurso para simplificar ... Eu tenho um algoritmo de hash de imagem que renomeia imagens automaticamente, então pretendi renomear os arquivos usando isso.
Jeff McHale
3

No diretório que contém os webparquivos:

for x in *.webp; do ffmpeg -i $x $x.jpg; done
Byram Sewell
fonte
2
use em ${x%.webp}.jpgvez de $x.jpgremover webp no nome do arquivo de destino (roubado de stackoverflow.com/a/17844019/146745 )
andrej
1

Há outra ferramenta online disponível aqui que pode ajudá-lo nisso:

mas se você deseja uma ferramenta local, pode usar esta:

e use-o assim:

1) chmod a+x webpconv

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

A estrutura geral é assim:

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

Exemplo) Para converter uma imagem .png em WebP com uma qualidade de 90, digite:

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

e para converter um arquivo WebP em um arquivo PNG:

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

Hojat Taheri
fonte
1

Eu encontrei este método mais rápido para a minha necessidade de 1 tempo.

  1. Tire uma captura de tela com a imagem de webp aberta no chrome.
  2. Cole no programa de pintura.
  3. Cortar e salvar.
PRS
fonte
6
O questionador estava à procura de uma solução de linha de comando ...
jasonwryan
11
Eu acho que poderia ser feito como uma linha de comando usando o Shutter e tirando uma captura de tela de uma janela sem decorações de janelas, tudo em um script; poderia ser divertido de codificar :)
Aquarius Power
0

Para converter vários jpg em webp, usando cwebp :

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

Ação personalizada Thunar:

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

Ação personalizada Thunar, movendo imagens de webp para a subpasta:

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

A configuração de qualidade padrão do Cwebp é 75.

user8547
fonte
0

instale o pacote webp com sudo apt install webp, depois disso, ele deve funcionar.

törzsmókus
fonte