macos终端原生命令sips可高效批量转换图片格式(如heic→jpg),但不支持视频;视频转换需手动安装ffmpeg。

Mac 自带的终端命令能高效批量处理图片,但对视频支持有限——sips 仅支持图像(如 HEIC→JPG、PNG→TIFF),不处理视频;视频格式转换需借助 ffmpeg(需手动安装)。下面分两部分说明,聚焦真正可用、免第三方依赖或明确标注依赖项的操作。
用 sips 批量转换图片(系统原生,无需安装)
sips 是 macOS 内置图像处理工具,支持 HEIC、JPEG、PNG、TIFF、JPEG 2000 等格式互转,无损、稳定、速度快。
- 先打开终端,用
cd切换到存放图片的文件夹,例如:cd ~/Desktop/photo_batch - 将当前目录所有 .HEIC 文件转为高质 JPG(保留原名,质量 100%):
for f in *.HEIC; do sips -s format jpeg "$f" --out "${f%.*}.jpg"; done - 转为 PNG(自动保留 Alpha 通道):
for f in *.jpg; do sips -s format png "$f" --out "${f%.*}.png"; done - 统一调整尺寸并转格式(例如缩放到最长边 1920 像素,再存为 JPG):
for f in *.HEIC; do sips --resampleHeightWidth 1920 1920 -s format jpeg "$f" --out "${f%.*}_1920.jpg"; done
用 ffmpeg 批量转换视频(需额外安装)
macOS 不预装 ffmpeg,必须通过 Homebrew 安装(终端中执行 brew install ffmpeg)。它支持 MP4、MOV、AVI、MKV 等主流视频格式互转,还可控制码率、帧率、分辨率。
- 将当前文件夹所有 .MOV 转为 H.264 编码的 .MP4(兼容性好,画质近似原片):
for f in *.MOV; do ffmpeg -i "$f" -c:v libx264 -crf 18 -c:a aac "${f%.*}.mp4"; done - 转为轻量版(降低分辨率至 1280×720,节省空间):
for f in *.mp4; do ffmpeg -i "$f" -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2" -c:v libx264 -crf 23 -c:a aac "${f%.*}_720p.mp4"; done - 注意:ffmpeg 默认不覆盖原文件,输出为新文件;如需删除原文件,可在命令后加
&& rm "$f"(慎用,建议先试一两个文件)。
小提醒:哪些操作不能靠终端原生命令完成
• HEIC 视频(如 iPhone 拍摄的“实况照片”MOV+HEIC 组合)无法用 sips 或 ffmpeg 单步解包转换,需先用“照片”App 导出为静态图或普通视频。
• 批量提取视频首帧为 JPG 可用 ffmpeg:ffmpeg -i input.mp4 -vframes 1 -q:v 2 thumbnail.jpg,配合 for 循环即可批量生成。
• 若只想改扩展名(如把 .jpeg 改成 .jpg),不要直接重命名——可能损坏文件。应使用 sips 或图像软件真正转换编码。











