要将视频压缩到指定的大小(比如 5MB),可以通过指定目标文件大小来控制视频比特率(Bitrate)。
有两种办法:
一、使用第三方软件,例如格式工厂,格式工厂视频输出限制有种大小限制,设置好即可。

二、使用FFmpeg
FFmpeg 没有直接的选项让你指定目标文件大小,但你可以通过以下步骤来实现。
压缩视频到指定大小的步骤1. 计算目标比特率文件大小(以比特为单位)由以下公式决定:
文件大小 = 视频比特率 * 时长 + 音频比特率 * 时长
假设你想将视频压缩到 5MB(5000KB * 1024 = 5120000 bytes)。你需要先确定视频的时长,并使用以下公式计算目标比特率:
目标比特率 = (文件大小 - 音频比特率 * 时长) / 时长2. 获取视频时长
使用 FFmpeg 来获取视频的时长:
ffmpeg -i input.mp4
FFmpeg 会输出类似如下的信息:
Duration: 00:02:30.12, start: 0.000000, bitrate: 3200 kb/s
这里的视频时长是 2 分 30 秒,也就是 150 秒。
3. 选择音频比特率通常音频比特率在 128kbps 或 192kbps 是比较常见的。如果你要压缩视频,可以将音频比特率设为 128kbps。
4. 计算视频比特率假设目标文件大小为 5MB(5000KB * 1024 = 5120000 bytes),时长为 150 秒,音频比特率为 128kbps,计算出视频比特率如下:
目标文件大小(字节) = 5120000 bytes
音频比特率 = 128 kbps = 128000 bps
时长 = 150 秒
视频比特率 = (5120000 * 8 - 128000 * 150) / 150
= (40960000 - 19200000) / 150
= 144000 bps ≈ 960 kbps 5. 使用 FFmpeg 设置比特率并压缩视频现在,我们知道视频比特率大约是 960kbps。你可以使用以下命令压缩视频:
ffmpeg -i input.mp4 -b:v 960k -b:a 128k output.mp4解释:-b:v 960k:设置视频比特率为 960kbps。-b:a 128k:设置音频比特率为 128kbps。input.mp4:输入视频文件。output.mp4:压缩后的输出视频文件。6. 尝试不同的比特率
如果输出视频文件仍然大于 5MB,尝试稍微降低视频比特率(例如 -b:v 900k 或 -b:v 850k),直到达到目标大小。你也可以通过降低帧率(-r)或分辨率(-vf scale)来进一步减少文件大小。
总结要将视频压缩到指定大小(如 5MB),你需要:
获取视频时长。根据时长、目标文件大小和音频比特率计算视频比特率。使用 FFmpeg 压缩视频时,指定合适的音频和视频比特率。网友回复
有没有不依赖embedding向量的RAG技术?
有没有支持实时打断语音通话并后台帮你执行任何的ai模型?
开源ai大模型文件格式GGUF、MLX、Safetensors、 ONNX 有什么区别?
出海挣钱支付收款PayPal、Wise 、PingPong、Stripe如何选择?
如何实现类似google的图片隐形水印添加和识别技术?
linux上如何运行任意windows程序?
ai能写出比黑客还厉害的零日漏洞等攻击工具攻击任意软件系统工程?
js如何获取浏览器的音频上下文指纹、Canvas指纹、WebGL渲染特征?
为啥ai开始抛弃markdown文本,重新偏好html文本了?
网站有没有办法鉴别访问请求是由ai操控chrome-devtools-mcp发出的?


