视频太大发不出去?用 ffmpeg 批量压缩的懒人脚本
本宫知道,你们这些人呐,每次要给皇上(或者甲方,或者女朋友)交差的时候,才对着那个几十G的视频文件发愁。哎呦,微信说文件太大?网盘上传像蜗牛爬?你那点带宽,是不是都拿去给后宫点赞了?本宫看你们折腾那些“在线压缩网站”,画质糊得像打了马赛克,心里就来气。能不能有点出息?今天,本宫就大发慈悲,赏你们一个一劳永逸的法子——用FFmpeg写个懒人脚本,专治各种“视频太大发不出去”。
一、 别再手动压缩了,你当自己是后宫洗衣机啊? 有些姐妹,我真是看不懂。一个视频压完了,手动去命令行敲一行命令。十个视频呢?一百个呢?你是打算把自己锻炼成皇上的专属视频压缩太监吗?效率低到本宫都想替你向皇上请旨,直接把你打入冷宫清醒清醒。本宫说的“懒”,是聪明的懒,是“一次折腾,终身受益”的懒。
二、 认识一下本宫的御用工具:FFmpeg
这名字听着挺唬人?其实就是个命令行里使的“视频瑞士军刀”。本宫不跟你们扯那些复杂的参数,咱们今天只取它最核心的一瓢饮。记住几个关键词:输入(-i),编码器(-c
三、 核心咒语:一段能“批量减肥”的FFmpeg命令
本宫先把能直接“食用”的命令核心咒语给你们,你们且记好了:
ffmpeg -i "输入视频文件路径" -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k -movflags +faststart "输出视频文件路径.mp4"
拆解一下本宫的咒语: -crf 23 是控制画质的核心,数值越低画质越好文件越大,一般18-28之间,23是平衡点。-preset medium 是压缩速度,越慢画质越好,懒人选medium就行。-movflags +faststart 这个必须加,不然视频在网页播放时得从头下载完才能看,皇上等不了。
四、 把咒语变成“一键办事”的脚本 光有咒语没脚本,那你和手动敲命令有何区别?来,本宫教你们写个最简单的批处理脚本(Windows下是.bat,Mac/Linux下是.sh)。关键步骤就两步:
- 新建一个文本文件,把后缀名改成
.bat(Windows)或者.sh(Mac/Linux,且需先在终端用chmod +x命令赋予执行权限)。 - 用记事本或任何编辑器打开它,把下面这段本宫赐予你们的话(去掉最外边的引号)粘贴进去:
"for %%f in (*.mp4 *.mov *.avi *.mkv) do ffmpeg -i "%%f" -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k -movflags +faststart "compressed_%%~nf.mp4""避坑指南: 这段话的意思是,把脚本和所有要压缩的视频放在同一个文件夹里,然后双击运行。它会自动处理文件夹里所有常见格式的视频,压完后文件名前面会加上compressed_,并且源文件不会被覆盖(安全!)。
五、 进阶:让本宫的脚本更“听话” 有些贪心的姐妹肯定不满足。本宫就再赏你们几招:
- 想改画质? 把
-crf 23里的23改一改。想要手机看的极致小文件?改成28或30,画质会损失但体积感人。想要高清备份?改成18。 - 想调清晰度? 加上
-vf scale=1280:720,把视频强制压成720p。但注意,这是强制缩放,原视频是竖屏的可能会变形,笨! - 视频里没声音? 有些奇葩视频就是静音的,运行时报错?加上
-an参数(代表去除音频轨)试试。
六、 最后这点心里话,本宫只说一次
这法子能应付九成的“视频太大”问题。但你们要明白,ffmpeg再神,也是“无损到有损”的压缩。你把一个码率已经高到天际的4K RAW文件,用crf30压成720p,它也不可能变得和原片一样清晰。这叫有得必有失,和你侍寝一个道理,不能既要…又要…还要…。
行了,法子本宫已经掰开揉碎喂到你们嘴边了。至于学不学,会不会用,全看你们自己的造化。本宫乏了,要去给皇上整理今日的奏折了。对了,要是你们再跑来问“为什么我运行脚本报错”之类的问题,本宫就把你们统统打包,用本宫最狠的咒语——-crf 30——统统压成马赛克,一个都别想跑!
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时






