FFmpeg 是一款跨平台的命令行工具,用于处理多媒体数据流,支持多种音视频编解码器、容器格式以及多种音视频处理功能。使用 FFmpeg 压缩视频不仅可以减小文件大小,还能调整分辨率、比特率等参数以优化视频质量。下面是如何使用 FFmpeg 进行视频压缩的简单教程。
准备工作
首先,你需要下载并安装 FFmpeg。访问官方网站或第三方镜像站点下载适合你操作系统的版本。安装完成后,确保 FFmpeg 的路径已经添加到了系统环境变量中,这样可以在命令行中直接调用 ffmpeg 命令。
基本概念
在开始之前,了解一些基本概念有助于更好地使用 FFmpeg:
比特率(Bitrate):表示每秒传输的数据量,是衡量视频质量的一个重要因素。比特率越高,视频质量越好,但文件大小也越大。
分辨率(Resolution):视频画面的宽度和高度,一般表示为宽度×高度(如 1280×720)。
编码器(Encoder):用于压缩视频的算法,如 x264 是一种常用的 H.264 编码器。
假设你有一个名为 example.mp4 的视频文件,位于当前目录下,你想要将其压缩成一个更小的文件,同时保持合理的质量。
步骤1: 使用默认设置压缩视频
在命令行中输入以下命令:
ffmpeg -i example.mp4 -c:v libx264 -preset medium -crf 23 -c:a copy compressed_example.mp4
这里 -i example.mp4 表示输入文件;-c:v libx264 表示使用 H.264 编码器;-preset medium 选择了一个中等速度的编码预设;-crf 23 设置恒定的质量因子,CRF 范围一般是 0 到 51,数值越小质量越高;-c:a copy 表示音频流不做编码而直接复制;compressed_example.mp4 是输出文件名。
步骤2: 调整视频比特率
如果你想固定比特率而不是使用 CRF:
ffmpeg -i example.mp4 -c:v libx264 -b:v 1000k -maxrate 1000k -bufsize 1000k -c:a aac -b:a 128k compressed_example.mp4
这里 -b:v 1000k 设置视频比特率为 1Mbps;-maxrate 1000k 和 -bufsize 1000k 分别控制最大比特率和缓冲区大小;-c:a aac -b:a 128k 设置音频编码为 AAC 并将其比特率设置为 128kbps。
步骤3: 更改分辨率
如果你想要改变视频的分辨率,可以使用以下命令:
ffmpeg -i example.mp4 -vf scale=-2:720 -c:v libx264 -crf 23 -c:a copy compressed_example_720p.mp4
这里 -vf scale=-2:720 将视频的高度设置为 720 像素,宽度自动按比例缩放。
多通道编码:如果视频较长,可以使用 -y 参数覆盖输出文件,并将任务拆分为多段进行编码。
双通道编码:对于长视频,可以考虑使用双通道编码(两遍编码),以获得更好的质量和更高的压缩比。
以上就是使用 FFmpeg 进行视频压缩的基础方法。根据实际情况调整参数可以获得更好的效果。如果你在使用过程中遇到问题,可以查阅 FFmpeg 的官方文档或社区论坛寻求帮助。
对于不熟悉或者不知道如何使用的同学,也可以使用简鹿办公提供的简鹿视频格式转换器或简鹿格式工厂,该软件不需要复杂的命令参数,只需要动动手就能搞定音视频转换或压缩啦。