使用ffmpeg提高mp4压缩比,减小文件体积【windows+ffmpeg+batch脚本】

文章目录

关于

个人博客,里面偶尔更新,最近比较忙。发一些总结的帖子和思考。

江湖有缘相见🤝。如果读者想和我交个朋友可以加我好友(见主页or个人博客),共同学习。笔者是学生,课业还是比较繁重的,可能回复不及时。笔者也正在四处寻找一些可以兼职锻炼知识并且补贴一些生活的工作,如果读者需要一些详细的辅导,或者帮助完成一些简易的lab也可以找我,笔者还是学生,自以为才学有限,也没有高价的理由📖。

前情提要

情景是这样的,需要笔者遇到需要提交一个演示视频的情景,使用的是Windows自带的录屏工具。快捷键是【Win+shift+S】,然后选中摄像机符号。

但是,默认录屏得到的文件非常大。1分钟得到的视频高达89MB,笔者屏幕是2160x1440的。

笔者不是剪辑专业户,电脑上没有各种剪辑工具,于是决定使用大名鼎鼎的ffmpeg对文件进行压缩。

FFmpeg是什么

FFmpeg 是一个开源的多媒体框架,可以用来处理视频、音频、图片等多媒体文件。它提供了一整套工具,支持编码、解码、转码、剪辑、合并、分割以及其他许多多媒体处理操作。FFmpeg 支持几乎所有的音视频格式,是非常强大的一个多媒体工具集。

听GPT说,FF是Fast Forward的意思,"快进"。表示FFmpeg性能非常好

使用脚本运行FFmpeg

FFmpeg是命令行工具,参数特别多,功能特别多。对于普通用户来说很多东西都没有必要。其实用任何脚本都可以的,本质是一样的,下面使用Windows上最容易运行的cmd的batch脚本。

首先,下载ffmpeg.exe

去官网下载一个二进制发布的ffmpeg.exe。主要是这个

然后在视频相同位置写一个bat脚本

内容如下:

bat 复制代码
@echo off

REM input_file: 输入 MP4 文件路径。
set "input_file=hello.mp4"
REM output_file: 输出 MP4 文件路径。
set "output_file=out.mp4"
REM ffmpeg_path: FFmpeg 可执行文件的自定义路径(默认为 'ffmpeg',假设已配置环境变量)。
set "ffmpeg_path=D:\ffmpeg\bin\ffmpeg.exe"
REM crf: 恒定质量因子(推荐范围 23-28,值越高压缩越强,质量越低)。
set "crf=28"
REM preset: 编码预设(可选项有 'ultrafast', 'superfast', 'faster', 'medium', 'slow', 'slower')。
set "preset=medium"

REM 执行 FFmpeg 命令
"%ffmpeg_path%" -i "%input_file%" -vcodec libx264 -crf %crf% -preset %preset% -acodec aac -b:a 128k "%output_file%"

pause

主要写这四个,input_file里写要处理的文件,要使用英文路径;output_file里写要输出的文件名字,英文路径;ffmpeg_path写你下载的ffmpeg.exe的位置路径,crf数值越高压缩比越强。

如何确定ffmpeg的路径使用windows风格的路径格式即可,找到ffmpeg.exe,右键复制路径去掉双引号即可。

运行压缩脚本

双击运行脚本bat即可。

运行效果图

设置为28的时候,压缩到了,还是不错的(●'◡'●)。

相关推荐
Zucker n6 小时前
文献发现、课题组织与证据可追溯的论文阅读。
论文阅读·windows·ubuntu
flyingonpine1 天前
PowerShell脚本数字签名实战:自签名证书、代码签名与信任链验证
windows·信任链
goehou1 天前
让 AI 替我操作这台电脑,先把手能伸多远定下来
windows·自动化·权限管理·ai agent
公子小六1 天前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
架构师伯子明1 天前
ffmpeg学习4:opencv在音视频领域常用指令
opencv·学习·ffmpeg
2601_967987372 天前
安装 Redis 或 Redis Stack
linux·windows·redis·macos·安装
xbzb2 天前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
武雄(小星Ai)2 天前
Ollama报llama-server binary not found排坑实录:服务活着引擎没了
人工智能·windows·大模型·ollama·排坑
Android系统攻城狮2 天前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
叼烟扛炮3 天前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain