halfsize

halfsize / 本地压缩

压缩视频,不用上传

所有“免费在线视频压缩”本质上都是把文件传到别人的服务器。如果视频里是身份证、还没发布的产品演示、 孩子的演出录像,为了省五分钟把它传上去并不划算。halfsize 在本机调用 FFmpeg:不上传、不要账号、没有次数限制。

$ npx halfsize 客户演示.mp4 --to 20mb

  halfsize 0.1.8
  客户演示.mp4
  136 MB  60s  1920x1080  30.00 fps  h264

  target     20.0 MB
  plan       H.264  1280x720  2.46 Mbps  audio 128 kbps  2-pass
  scale      1920x1080 → 1280x720
  output     客户演示.20mb.mp4

  measuring quality                                        done in 8s

  136 MB  →  19.45 MB   小了 7.0 倍   比目标小 2.7%
  VMAF 88.3   SSIM 0.971   轻微变软

  文件没有离开这台电脑。

“本地”具体指什么

环节在线压缩站halfsize
你的文件上传到服务器留在本机磁盘
账号通常要注册不需要
次数每天 2–3 个,之后付费无限制
水印免费版有没有
画质说明一个“高清”标签实测 VMAF 和 SSIM
断网可用不行装好后可以
价格订阅制MIT,免费

唯一一次联网是第一次执行 npx halfsize:npm 下载安装包,安装包再下载对应平台的静态 FFmpeg。 之后编码全部在本机完成。你可以直接断网再跑一次同样的命令来验证。

不想敲命令?网页界面也是本地的

网页由本机进程在 127.0.0.1 上提供,不是托管网站。页面和视频都不会离开你的电脑。

$ npx halfsize --web
halfsize web UI on http://127.0.0.1:4174
halfsize 本地网页界面:把视频压到目标大小并显示 VMAF 画质报告

拖入文件、选目标大小,得到体积和画质分数。全程本地。

为什么不直接手写 FFmpeg 命令?

当然可以,halfsize 本身就是 FFmpeg 外面的一层薄封装。麻烦的是算术:给定目标体积,要扣掉音频和容器开销 反推视频码率,还要判断“降到 720p”和“保持 1080p 但码率减半”哪个更好看,最后确认文件真的没超标、 画质损失了多少。这些就是工具替你做的部分。

$ npx halfsize 视频.mp4 --to 20mb --dry-run
plan  H.264  1280x720  2.46 Mbps  audio 128 kbps  2-pass  → ~19.4 MB

实测画质,不是宣传语

60 秒 1080p30、源码率 18 Mbps,在笔记本上本地编码:

目标输出分辨率VMAF观感
20 MB19.45 MB1280×72088.3轻微变软
16 MB15.59 MB960×54084.8轻微变软
10 MB9.77 MB960×54082.9轻微变软
5 MB4.93 MB640×36072.0明显损失

不上传不等于无损。 10 分钟的视频压到 20 MB 只有 0.25 Mbps,换什么工具都会糊。在意画质就先剪短,再压。

适合这些场景

常见问题

会偷偷联网吗?

没有统计、没有遥测、没有更新检查。源码在 GitHub,可以自己审计,也可以在防火墙后面运行。

需要装 Node.js 吗?

需要 Node.js 18 或更高版本。FFmpeg 已经内置,不用自己编译或配置。

支持哪些系统?

Windows 10/11、macOS、Linux,命令完全一样。

能写进脚本或 CI 吗?

可以。--json 输出机器可读结果,--dry-run 只打印方案不编码。

网页界面是云服务吗?

不是。npx halfsize --web 只在 127.0.0.1 起一个本机服务,外网访问不到。

相关教程