如何将40GB数学函数绘图MP4视频压缩至5-10GB 需命令行批量方案
批量数学绘图视频压缩命令行解决方案
本次方案基于FFmpeg实现,针对线条类绘图视频的内容特性优化参数,在缩小分辨率到原尺寸60%的前提下可实现4-8倍压缩率,画质损失极低,支持全量批量处理,最终输出总大小可稳定控制在5-10GB区间。
前置准备
- 安装FFmpeg工具:
- Debian/Ubuntu系统执行
sudo apt install ffmpeg - macOS系统执行
brew install ffmpeg - Windows系统下载官方二进制文件后将路径加入系统环境变量即可
- Debian/Ubuntu系统执行
- 正式批量处理前建议先选取1-2个视频测试参数,确认画质和压缩率符合预期后再全量运行
单视频测试命令
先运行单条命令验证效果:
ffmpeg -i input.mp4 -vf "scale=iw*0.6:ih*0.6:flags=lanczos" -c:v libx265 -crf 28 -preset medium -c:a aac -b:a 64k output.mp4
参数说明:
scale=iw*0.6:ih*0.6:flags=lanczos:将视频宽高等比缩放到原尺寸60%,采用lanczos采样算法,最大化降低线条类内容缩放后的模糊损失libx265:采用HEVC编码,比传统H.264编码压缩效率高40%以上,非常适合低动态的绘图类视频crf 28:恒定质量因子,数值越低画质越高、体积越大,绘图类内容26-30区间都可保持清晰的线条观感,可根据测试结果调整数值preset medium:编码速度和压缩率的平衡档位,可选范围从ultrafast到veryslow,档位越高压缩率越高、耗时越长,批量处理建议用medium或slow档位-c:a aac -b:a 64k:音频采用aac编码,64k码率可满足普通讲解音质需求,若无音频可替换为-an参数移除音频流,进一步缩小体积
全量批量处理命令
Windows 系统(CMD)
将所有待处理MP4放在同一文件夹,新建bat文件写入以下内容后双击运行,处理后的文件会自动存入output文件夹,不会覆盖原文件:
@echo off md output for %%i in (*.mp4) do ( ffmpeg -i "%%i" -vf "scale=iw*0.6:ih*0.6:flags=lanczos" -c:v libx265 -crf 28 -preset medium -c:a aac -b:a 64k "output\%%~ni.mp4" )
Linux/macOS 系统(Shell)
在视频所在目录执行以下命令即可:
mkdir -p output for file in *.mp4; do ffmpeg -i "$file" -vf "scale=iw*0.6:ih*0.6:flags=lanczos" -c:v libx265 -crf 28 -preset medium -c:a aac -b:a 64k "output/${file}" done
若需要后台长时间运行可在命令前加nohup前缀。
内容的提问来源于stack exchange,提问作者Francis1984
相关产品推荐
相关产品推荐

