ffmpeg压缩视频记录

💡 原文中文,约1100字,阅读约需3分钟。
📝

内容提要

本文介绍了使用ffmpeg命令行工具处理视频文件的方法,包括指定输入文件、设置视频滤镜、选择编码器、调整质量因子和比特率等参数。通过这些步骤,可以生成一个720p分辨率的视频文件,保持音频质量并减少编码时间。

🔎

延伸解读

CRF与比特率同时设置的影响

命令中同时使用了 -crf 23 和 -b:v 6000k。在 libx264 中,CRF 模式旨在保持恒定质量,而比特率参数通常被忽略或仅作为码率上限。因此,实际输出质量主要由 CRF 23 决定,6000k 可能不会严格生效。若希望精确控制文件大小,可考虑改用两遍编码或调整 CRF 值。

音频直接复制的优势与限制

-c:a copy 表示音频流不重新编码,直接复制到输出文件。这能保留原始音频质量并显著减少编码时间。但需注意,如果输出容器格式与原始音频编码不兼容,可能会导致播放问题。此外,音频的采样率、声道数等参数不会改变,若需调整音频属性,则不能使用 copy。

缩放参数 scale=720:-2 的含义

scale=720:-2 将视频宽度固定为 720 像素,高度自动计算以保持原始宽高比。其中 -2 表示高度值会被调整为最接近的偶数,以确保与 yuv420p 等像素格式兼容。这避免了因奇数高度导致的编码错误,同时确保输出分辨率接近 720p。

❓

Q&A

如何使用ffmpeg压缩视频文件?

使用ffmpeg命令行工具,指定输入文件,设置视频滤镜、编码器、质量因子和比特率等参数。

ffmpeg中如何设置视频分辨率为720p?

使用视频滤镜参数-vf scale=720:-2,将宽度设置为720像素,高度保持原始比例。

ffmpeg的恒定质量因子是什么?

恒定质量因子(CRF)用于控制视频质量,范围通常在0到51之间,数值越小质量越高,23是一个较好的平衡点。

如何在ffmpeg中设置视频比特率?

使用参数-b:v 6000k设置视频比特率为6000kbps,以平衡输出文件大小与视频质量。

ffmpeg如何处理音频流?

使用-c:a copy参数,音频流不进行重新编码,直接复制以保留原始音频质量。

生成的视频文件的帧率是多少?

输出视频的帧率设置为30帧每秒(fps)。

🏷️

标签

➡️

继续阅读