npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

image-small

v1.3.0

Published

An easy images compress tool.

Downloads

88

Readme

image-small工具使用说明

一、概述

image-small是一个基于Node.js开发的工具,用于压缩图像和视频文件。它能够处理多种常见的图像和视频格式,通过简单的命令行操作实现文件的压缩,并提供了一些相关的信息输出,如文件压缩前后的大小、压缩率以及视频处理的进度和时间等。

二、功能特性

  1. 图像压缩
    • 支持多种图像格式:.jpg.jpeg.png.gif.webp
    • 可以指定宽度对图像进行压缩,将压缩后的图像保存到原文件夹下(文件名前加上compressed_),并可选择删除原始文件并将压缩后的文件重命名为原始文件名。同时,会计算并显示压缩前后的文件大小以及压缩率。
  2. 视频压缩
    • 支持多种视频格式:.mp4.avi.mkv
    • 将视频压缩到指定分辨率(默认854x480),并输出压缩后的视频到原视频所在目录下(文件名前加上compressed_)。在压缩过程中,会显示处理进度,压缩完成后会显示处理时间。

三、安装依赖

  1. 在使用image-small工具之前,需要确保以下Node.js库已经安装:

    可以使用npm命令安装这些依赖,例如:

    npm install ffmpeg -g

四、使用方法

  1. 命令行参数
    • 运行image-small时,可以接受不同的参数来执行图像或视频的压缩操作。
    • 对于图像压缩:
      • 命令格式:image-small [imageFolder] [width]
      • imageFolder:要压缩图像的文件夹路径。
      • width:指定图像压缩后的宽度(单位:像素),默认800。
    • 对于视频压缩:
      • 命令格式:image-small [videoFile] --video
      • videoFile:要压缩的视频文件路径。
  2. 示例
    • 图像压缩示例
      • 假设要将/path/to/images文件夹中的图像压缩为宽度为600像素的图像,可以在命令行执行:
      image-small . 压缩当前目录下的所有图片
      image-small /path/to/images 600
      	 
    • 视频压缩示例
      • 要压缩/path/to/video.mp4视频文件,可以执行:
      image-small /path/to/video.mp4 --video

五、代码结构

  1. showHelp函数
    • 功能:在控制台显示帮助信息,包括工具名称、版本、用法示例、支持的文件格式以及功能概述等内容,然后退出进程。
    • 使用方法:当用户输入的命令参数不符合要求或者用户请求查看帮助时调用。
  2. formatBytes函数
    • 功能:将字节数转换为更易读的格式(如KB、MB等),接受字节数和可选的小数位数作为参数。
    • 使用方法:在图像和视频压缩过程中,用于将文件大小转换为易读格式以便于在控制台输出。
  3. compressImagesInFolder函数
    • 功能:处理指定文件夹中的图像文件压缩操作。它读取文件夹中的文件,筛选出支持的图像格式,然后使用sharp库对图像进行压缩、保存、计算文件大小和压缩率等操作,并在控制台输出相关信息。
    • 使用方法:当执行图像压缩命令时,该函数被调用,传入要压缩图像的文件夹路径和指定的宽度值。
  4. compressVideosInFolder函数
    • 功能:处理视频文件的压缩操作。它获取视频文件的绝对路径和所在目录,构建输出文件的名称,然后使用fluent - ffmpeg库对视频进行压缩操作,在压缩过程中显示进度,压缩完成后显示处理时间等信息。
    • 使用方法:当执行视频压缩命令时,该函数被调用,传入要压缩的视频文件路径。

六、注意事项

  1. 在运行视频压缩操作时,虽然代码尝试设置多线程(当前可能因fluent-ffmpeg版本问题而注释掉相关代码),但在实际应用中可能需要根据系统资源(如CPU核心数)和ffmpeg版本调整多线程设置以获得最佳性能。
  2. 对于图像压缩,在删除原始文件和重命名压缩后的文件时需谨慎操作,确保备份重要文件,以免数据丢失。