使用ffmpeg压缩和转换图片及视频。适用于用户希望减小文件体积、更改格式、调整尺寸或优化媒体文件的场景。
媒体压缩 skill. 压缩并转换图像和视频, 并带有智能默认值. 支持单文件及批处理. 支持格式. 图像: JPG, PNG, WebP, BMP, TIFF是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
使用智能默认参数对图像和视频进行压缩与格式转换。支持单文件处理及批量处理。
图像: JPG、PNG、WebP、BMP、TIFF、GIF → JPG、PNG、WebP
视频: MP4、MOV、AVI、MKV、WebM、FLV、WMV、M4V → MP4
必须已安装 ffmpeg:
sudo apt update && sudo apt install ffmpegbrew install ffmpeg验证安装是否成功:ffmpeg -version
# 压缩至目标大小(自动调节质量) python scripts/compress_image.py photo.jpg --max-size 200kb # 调整尺寸 + 压缩 python scripts/compress_image.py photo.png --width 800 --output photo_small.jpg # 转换为 WebP(更高压缩率) python scripts/compress_image.py photo.jpg --format webp # 批量压缩整个文件夹 python scripts/compress_image.py ./photos --output ./compressed --quality 80 # 预览模式 —— 查看操作效果,不实际执行压缩 python scripts/compress_image.py photo.jpg --max-size 500kb --preview # 保留原始文件备份 python scripts/compress_image.py photo.jpg --max-size 500kb --backup
# 使用默认参数压缩(良好的质量与体积平衡) python scripts/compress_video.py video.mp4 --output video_small.mp4 # 调整高度至 720p python scripts/compress_video.py video.mp4 --height 720 # 指定目标文件大小(近似值) python scripts/compress_video.py video.mp4 --target-size 50mb # 降低质量以获得更小体积 python scripts/compress_video.py video.mp4 --crf 28 # 批量处理文件夹中所有视频 python scripts/compress_video.py ./videos --output ./compressed --height 480 # 预览模式 —— 查看操作效果,不实际执行压缩 python scripts/compress_video.py video.mp4 --height 720 --preview # 保留原始文件备份 python scripts/compress_video.py video.mp4 --height 720 --backup
多数网站要求图像小于 500KB:
python scripts/compress_image.py photo.jpg --max-size 500kb --format webp
邮件附件通常有 25MB 限制:
python scripts/compress_image.py scan.pdf.jpg --max-size 5mb --quality 90
平台通常推荐 720p 分辨率与较小体积:
python scripts/compress_video.py clip.mov --height 720 --crf 23 --preset fast
最大化压缩以节省存储空间:
python scripts/compress_video.py old_video.avi --crf 28 --preset slow --height 480
保持画质不变,仅更改容器或编码格式:
# 图像 python scripts/compress_image.py image.png --format jpg --quality 95 # 视频 python scripts/compress_video.py video.mov --output video.mp4 --crf 18
compress_image.py)| 参数 | 说明 | 默认值 |
|---|---|---|
input |
输入文件或目录(必填) | - |
--output, -o |
输出文件或目录 | 自动生成 |
--max-size |
目标最大文件大小(例如:500kb、2mb) | None |
--quality, -q |
JPEG/WebP 质量(1–100) | 85 |
--width, -w |
最大宽度(像素) | 原始尺寸 |
--height |
最大高度(像素) | 原始尺寸 |
--format, -f |
输出格式:jpg、png、webp | 原始格式 |
--no-strip |
保留元数据(默认:移除) | False |
--preview, -p |
预览模式:仅显示设置,不执行压缩 | False |
--backup, -b |
保留原始文件备份 | False |
compress_video.py)| 参数 | 说明 | 默认值 |
|---|---|---|
input |
输入文件或目录(必填) | - |
--output, -o |
输出文件或目录 | 自动生成 |
--crf |
质量参数(0–51),数值越低质量越高:18 = 视觉无损,23 = 默认,28 = 更小体积 | 23 |
--preset |
编码速度:ultrafast、superfast、veryfast、faster、fast、medium、slow、slower、veryslow | medium |
--height |
最大高度(480、720、1080) | 原始尺寸 |
--target-size |
近似目标大小(例如:50mb、1gb) | None |
--fps |
限制帧率(例如:30、24) | 原始帧率 |
--audio-bitrate |
音频码率(例如:128k、192k) | 128k |
--preview, -p |
预览模式:仅显示设置,不执行压缩 | False |
--backup, -b |
保留原始文件备份 | False |
当输入为目录时:
示例:
$ python scripts/compress_image.py ./vacation_photos --output ./compressed --max-size 500kb 找到 24 个图像文件 [1/24] 处理: IMG_001.jpg ✓ 2847.3KB → 456.2KB (84.0% 减少) [2/24] 处理: IMG_002.png ✓ 1532.1KB → 298.5KB (80.5% 减少) ...
请先安装 ffmpeg:
# Ubuntu/Debian sudo apt update && sudo apt install ffmpeg # macOS brew install ffmpeg
赋予脚本可执行权限:
chmod +x scripts/*.py
提高质量参数:
# 图像 python scripts/compress_image.py photo.jpg --quality 90 # 视频 python scripts/compress_video.py video.mp4 --crf 20
--max-size 强制指定目标大小请检查目录中所有文件是否均为有效图像/视频。损坏文件可能导致处理失败。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章