707_AVI资源转换说明
📎 原始文档:https://www.kdocs.cn/l/chwbEYVYEZwC 707_AVI资源转换说明
MP4->AVI转换脚本介绍
new_convert.bat
概述
本脚本是一个基于FFmpeg的高效视频压缩转换工具,专门用于将MP4文件转换为MJPEG编码的AVI文件。通过智能的参数优化和多级压缩模式,在保持视觉质量的同时实现最大化的文件压缩。
脚本特性
- 精确帧数控制:可以精确设定输出视频的总帧数
- 多级压缩模式:提供3种压缩级别以适应不同需求
- 智能参数优化:针对MJPEG编码特性进行专门优化
- 保持时长不变:确保输出视频与原视频时长一致
- 详细统计信息:显示压缩比和文件大小对比
基本使用方法
将脚本放置在需要转换的MP4同目录下

- windows cmd默认使用(推荐)
.\new_convert.bat
- 输入自定义参数
.\new_convert.bat [输入文件] [输出文件] [目标帧数] [输出帧率] [视频质量] [压缩级别]
参数说明
- 输入文件:源MP4文件路径
- 输出文件:目标AVI文件路径
- 目标帧数:输出视频的总帧数(默认60)
- 输出帧率:显示帧率,仅用于参考(默认15)
- 视频质量:MJPEG质量等级,1-31,数值越小质量越高(默认4)
- 压缩级别:1=快速,2=平衡,3=最大压缩(默认2)
- 脚本使用例
示例1:基础压缩
new_convert.bat input.mp4 output.avi 60 15 4 2
- 输入:input.mp4
- 输出:output.avi
- 总帧数:60帧
- 质量等级:4(较高质量)
- 压缩级别:2(平衡模式)
示例2:高压缩比模式(文件最小但是清晰度有所下降)
new_convert.bat speech.mp4 compressed.avi 40 12 5 3
- 减少到40帧以获得更小文件
- 质量稍微降低到5
- 使用最大压缩级别3
示例3:高质量模式(文件较大清晰度较好)
new_convert.bat presentation.mp4 hq_output.avi 80 20 3 1
- 增加到80帧保持更多细节
- 质量提升到3
- 使用快速压缩级别1保持质量
FFmpeg参数介绍
FFMPEG安装教程
FFmpeg 超级详细安装与配置教程(Windows 系统)_windows安装ffmpeg-CSDN博客
直观影响参数:
输出质量、总帧数、帧率。上述三种参数对于avi文件的大小影响最大
视频编码参数
-c:v mjpeg
指定视频编码器为MJPEG(Motion JPEG),这是一种帧内压缩格式,每一帧都是独立的JPEG图像。(使用AVIdemo时,avi编码器必须为mjpeg,avidemo本质是利用707jpeg接口进行jpeg切图轮播)
优势:
- 解码简单,兼容性好
- 编辑友好,可以精确定位到任意帧
- 不依赖前后帧,抗错误能力强
-q:v [1-31]
设置视频质量等级,数值越小质量越高。
- 1-3:极高质量,文件较大
- 4-6:高质量,推荐用于重要内容
- 7-12:中等质量,平衡文件大小和质量
- 13-31:低质量,用于极限压缩
-huffman optimal
启用优化的霍夫曼编码,可以减少5-15%的文件大小而不损失质量。
-pred 1
启用预测编码(仅在压缩级别3中使用),通过预测像素值来进一步压缩。
-frames:v [数量]
精确控制输出视频的帧数,确保达到预期的压缩效果。
音频编码参数
-c:a pcm_s16le
使用16位小端序PCM编码,保证音频质量的同时保持良好兼容性。
-ar 8000
设置音频采样率为8kHz,适合语音内容,比CD质量的44.1kHz小很多。
-ac 1
设置音频为单声道,减少一半的音频数据量。
-b:a [比特率]
控制音频比特率:
- 32k:标准质量(压缩级别1)
- 24k:良好质量(压缩级别2)
- 16k:可接受质量(压缩级别3)
视频滤镜参数
fps=[帧率]
设置输出帧率,用于控制总帧数。计算公式:目标帧数 ÷ 视频时长
scale=[宽度]:[高度]
调整视频分辨率到指定尺寸:
- force_original_aspect_ratio=decrease:保持宽高比,可能有黑边
- pad=[宽度]:[高度]:(ow-iw)/2:(oh-ih)/2:居中填充黑边
bm3d=sigma=3:block=4:bstep=2:group=1:range=9(仅压缩级别3)
高级降噪滤镜,减少视频噪点从而压缩文件大小:
- sigma=3:降噪强度
- block=4:处理块大小
- 其他参数:优化性能和效果的平衡
自定义FFmpeg组合示例
1. 极限压缩组合
ffmpeg -i input.mp4 ^ -vf "fps=5,scale=240:240,hqdn3d=4:3:6:4.5" ^ -c:v mjpeg ^ -q:v 8 ^ -huffman optimal ^ -pred 1 ^ -c:a pcm_s16le ^ -ar 6000 ^ -ac 1 ^ -b:a 12k ^ -frames:v 30 ^ -f avi ^ output.avi
用途:极限压缩,文件最小,适合存储大量视频
2. 高清保质组合
ffmpeg -i input.mp4 ^ -vf "fps=25,scale=720:720:force_original_aspect_ratio=decrease,pad=720:720:(ow-iw)/2:(oh-ih)/2" ^ -c:v mjpeg ^ -q:v 2 ^ -huffman optimal ^ -c:a pcm_s16le ^ -ar 16000 ^ -ac 2 ^ -b:a 64k ^ -f avi ^ output.avi
用途:高质量输出,适合重要内容展示
3. 快速批量处理组合
ffmpeg -i input.mp4 ^ -vf "fps=10,scale=360:360" ^ -c:v mjpeg ^ -q:v 6 ^ -c:a pcm_s16le ^ -ar 8000 ^ -ac 1 ^ -preset ultrafast ^ -f avi ^ output.avi
用途:快速处理大批量文件
4. 语音专用组合
ffmpeg -i input.mp4 ^ -vf "fps=8,scale=320:240,hqdn3d=2:1:2:3" ^ -c:v mjpeg ^ -q:v 7 ^ -huffman optimal ^ -c:a pcm_s16le ^ -ar 8000 ^ -ac 1 ^ -b:a 16k ^ -frames:v 40 ^ -f avi ^ output.avi
用途:专门用于语音内容,视频为辅
压缩效果对比
| 模式 | 预期文件大小 | 质量等级 | 适用场景 |
|---|---|---|---|
| 压缩级别1 | 1.5-1.8MB | 最高 | 重要演示、高质量要求 |
| 压缩级别2 | 1.2-1.5MB | 高 | 日常使用、平衡需求 |
| 压缩级别3 | 0.8-1.2MB | 中等 | 存储空间受限 |
| 自定义极限 | 0.5-0.8MB | 较低 | 大批量存储 |
故障排除
1. 转换失败
- 检查FFmpeg是否正确安装
- 确认输入文件存在且可访问
- 尝试使用备用参数(脚本会自动尝试)
2. 文件过大
- 减少目标帧数(从60减到40或30)
- 提高压缩级别(使用级别3)
- 适当降低质量等级(从4调到5或6)
3. 质量不满意
- 降低压缩级别(使用级别1)
- 提高质量等级(从4调到3或2)
- 增加目标帧数(从60增到80)
技术支持
如需更多帮助或遇到特殊需求,可以:
- 调整脚本中的默认参数
- 参考FFmpeg官方文档了解更多参数
- 根据具体应用场景定制专用的压缩组合