How to convert my photos to webp format of Google in windows 8.1?
Asked Answered
I

3

10

I want to convert my photos from jpg, gif, and png to WebP format.

When I'm trying to use CMD for using cwebp command, I got this error message :

'cwebp' is not recognized as an internal or external command, operable program or batch file.

What should do I do?

I've downloaded all the files needed such as libwebp-0.4.0-windows-x86.zip and WebpCodecSetup.exe.

Even I've installed Visual Studio to use its command prompt, but didn't work! Is there anyone who can help me?

One more question:

Is anyone know any tool to reduce image size without losing its quality?

Ictus answered 30/6, 2014 at 6:41 Comment(5)
Issue resolved with this softewareIctus
Why don't you pose and answer your answer to make clear to everyone that problem has been solved @HoseinBL?Uncritical
I just found a Webp GUI !Ictus
Okay, what I meant is that on this site, when you know an answer to your own question, you are suggested to post the answer and accept it so that everyone can see that problem has been resolved.Uncritical
I can't ! cause my reputation score is less than 10 :(Ictus
P
25

Download cwebp binaries (.exe) and run it with PowerShell:

# tip: on windows explorer shift + right-click a directory and copy its path
$dir = "path/to/photos/directory"

# get all files in the directory
$images = Get-ChildItem $dir

foreach ($img in $images) {
  # output file will be written in the same directory 
  # but with .webp extension instead of old extension
  $outputName = $img.DirectoryName + "\" + $img.BaseName + ".webp"

  C:\webp-converter\libwebp-0.6.1-windows-x64\bin\cwebp.exe $img.FullName -o $outputName
}

See also cwebp options.

Perreault answered 1/4, 2018 at 20:44 Comment(4)
This is no April Fools joke, runs perfect, if one does add the bin folder to the PATH (windows environment variables) you can just type cwebp -q 75 -m 6 -af -f 50 -sharpness 0 -mt -v -progress $img.FullName -o $outputName for example.Flor
How do i make the last link work with spaces in the path? Instead of C:\webp-converter\libwebp-0.6.1-windows-x64\bin\cwebp.exe $img.FullName -o $outputName to be C:\Program Files\a lot of spaces in the path\bin\cwebp.exe $img.FullName -o $outputName. Thanks.Dreher
@Dreher this may help: #18537598Perreault
@Perreault How could we make this work recursively? I have a branch with many subfolders with images.Abidjan
F
2

To convert any image format to webp from Windows command line (CMD)

Download latest webp release from this page

I downloaded this package because my system is a 32 bit windows 10

Extract it and set environmental variable (follow below steps)

Click start button type "view advanced system settings" and open it (this step may differ in win xp or win 7) Click Environment Variables>User Variables>New>Variable Name:path Variable Value:C:\libwebp-1.0.2-windows-x86\bin

Now open CMD > Go to Image folder run following command

cwebp -q 50 -m 6 -af -f 50 -sharpness 0 -mt -v -progress source_img.jpg -o converted.webp
Fijian answered 10/6, 2019 at 13:22 Comment(0)
F
0

After you download cwebp binaries (.exe) from Google you can run it with PowerShell.

Then add the bin directory to where you extracted the cwebp lib to your Windows PATH. This is something like this C:\downloads\libs\LibWebP\bin for example. If you don't know how to do this search for "how to add something to windows PATH". Here is an example link.

If you need to go through each sub directory from the current directory you can do this below instead of pasting the path to the current directory in the script and doing so for each folder in the directory.

# get current directory
$initpath = Get-Location
# get all directories
foreach($path in Get-Childitem) {
    if ($path.Attributes -eq "Directory") {
        set-location $path.FullName
          # get all files in the directory
          $images = Get-ChildItem $dir

          # loop through every image
          foreach ($img in $images) {
            # output file will be written in the same directory
            # but with .webp extension instead of old extension
            $outputName = $img.DirectoryName + "\" + $img.BaseName + ".webp"

            # since you have the cwebp bin folder in PATH just type the command
            # more options https://developers.google.com/speed/webp/docs/cwebp
            cwebp -q 75 -m 6 -af -f 50 -sharpness 0 -mt -v -progress $img.FullName -o $outputName
          }
    }
}
set-location $initpath
Flor answered 25/9, 2018 at 7:39 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.