视频压缩
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_e85a0aa3/sance-video-compress。
技能介绍
要解决什么问题
目录里堆着 MOV、MKV、WebM、AVI 等混合格式的视频,邮件附件、Discord 上传或网盘分享都有体积上限。手工逐个拖进转码工具既慢,又容易在容器和编码上踩坑——例如 WebM 的 VP9/Opus 不能直接塞进通用 MP4 播放器。
本技能面向本地批量场景:指定文件夹与每个文件的目标大小,在机器上扫描视频,按时长反算比特率调用 FFmpeg,输出统一为 MP4,默认命名为 原文件名_压缩版.mp4,原片不删。
如何工作
- 预览再执行:默认只列出待处理文件、源编码与预估参数;加
--apply才真正跑 ffmpeg。 - 统一 MP4 + 编码兼容:不兼容 MP4 的视频/音频编码(如 VP9、Opus)会自动重编为 H.264/AAC;兼容且在码率允许时可流复制,减少无谓画质损失。
- 按目标大小反算:用 ffprobe 读时长,预留音频比特率后计算视频码率;目标过小或已低于原码率且可 copy 时,会跳过或保留原视频流。
- 可选两遍编码:默认 CRF 单遍;需要更贴目标体积时可加
--two-pass。 - 日志:在目标目录生成
compress_log_YYYYMMDD_HHMMSS.txt,控制台同步摘要。
适用边界
依赖系统已安装的 ffmpeg/ffprobe;找不到时需自行安装或通过参数指定路径。输出文件已存在时默认跳过,需 --overwrite 才覆盖。极短视频在目标体积下可能仍无法压到上限,脚本会给出警告。默认不递归子目录,需 --recursive 才会扫子文件夹。
使用场景
- 旅行或活动素材目录里混有 MOV、MKV,需要按 25MB 上限批量压成 MP4 再发邮件附件
- Discord 频道要上传多段录屏,需把每个 WebM/MP4 压到 8MB 以内且格式统一
- 网盘分享前对文件夹内 AVI、FLV、WMV 做本地批量体积控制,输出与原片同目录的 _压缩版.mp4
- 手头是 VP9/Opus 的 WebM,播放器或剪辑只认 MP4,需整目录转成 H.264/AAC 的 MP4 且不先上传云端
适合人员
- 经常把活动/培训录像按邮件或 IM 体积上限发给同事的内训或行政
- 需要在 Discord、论坛等渠道发录屏、实况片段,且平台对单文件大小有硬限制的内容创作者
- 整理家庭或项目素材库、希望保留原片同时批量生成更小 MP4 副本的摄影/剪辑爱好者
- 只能在本地处理敏感或未公开视频,不能用在线转码服务的法务、公关或内部沟通同学