本教程持续更新,我学到多少就更新多少。关于ffmpeg如何安装可以看上一篇博客win系统环境搭建(十六)——windows下载安装ffmpeg最新版。若是想有更好的阅读体验,可以直接看我GitHub博客的本篇文章,排版上会更好一点,ffmpeg使用手册。
FFmpeg是一个开放源代码的自由软件,可以执行音频和视频多种格式的录影、转换、串流功能,包含了libavcodec——这是一个用于多个项目中音频和视频的解码器函式库,以及libavformat——一个音频与视频格式转换函式库。
具体请自行百度。😥
ffmpeg -version
ffmpeg -i input.mkv -vcodec copy -acodec copy out.mp4
ffmpeg -i input.mkv -ss [start] -t [duration] -c copy output.mkv
input.mkv
是你要裁剪的原始视频文件。[start]
是你要开始裁剪的时间,格式为 HH:MM:SS
。[duration]
是你要裁剪的持续时间,格式也是 HH:MM:SS
。output.mkv
是裁剪后的新视频文件。要使用FFmpeg将视频文件的大小减小,可以进行以下操作:
ffmpeg -i input.mp4 -crf 23 -preset medium output.mp4
这个命令将会将输入视频文件input.mp4
的占用体积减小,并生成输出视频文件output.mp4
。
在FFmpeg中,-crf
参数是用于控制视频编码的质量与压缩比之间的权衡的参数。CRF(Constant Rate Factor)是一种基于目标质量的恒定比特率控制方法,它允许你设置输出视频的质量水平。CRF值越小,视频的质量越高,但文件大小也会增加。
在一般情况下,CRF值的范围是0到51。不同的范围值对应不同的质量和压缩级别。以下是一些常用的CRF值和对应的特征:
你可以根据自己的需求和偏好选择合适的CRF值。较低的CRF值会提供更好的质量,但会增加文件大小。较高的CRF值会减小文件大小,但可能导致一些质量损失。
请注意,不同的视频编解码器可能对CRF值的范围有所不同,具体取值范围和效果可能会有所差异。建议在实际应用中进行测试和调整,以找到最适合你需求的CRF值。
在FFmpeg中,-preset
参数用于设置视频编码器的预设(preset)。预设是一组预定义的编码参数,可以影响编码速度和输出质量之间的权衡。不同的预设提供了不同的速度和质量选项。
以下是一些常用的预设选项:
ultrafast
:最快的编码速度,但质量较低。superfast
:非常快的编码速度,稍微降低了一些质量。veryfast
:非常快的编码速度,质量稍低。faster
:快速的编码速度,质量略有降低。fast
:相对较快的编码速度,质量较好。medium
:平衡了速度和质量,是默认预设。slow
:较慢的编码速度,质量更好。slower
:更慢的编码速度,质量更高。veryslow
:非常慢的编码速度,提供最好的质量。这些预设选项提供了不同的速度和质量平衡。如果你希望编码速度更快,可以选择速度较快的预设,但可能会牺牲一些质量。如果你更注重输出质量,可以选择速度较慢的预设,但编码速度会变慢。
你可以根据你的需求选择适合的预设选项。要指定预设,请使用-preset
参数后跟预设名称,例如-preset medium
。
请注意,不同的视频编解码器可能支持不同的预设选项,具体的预设选项和效果可能会有所不同。建议在实际应用中进行测试和调整,以找到最适合你需求的预设选项。
ffmpeg -i input.mp4 -r 24 output.mp4
-i
选项指定了输入文件的名称为 input.mp4
,-r
选项指定了输出文件的帧速率为 24 帧每秒(fps),并且 output.mp4
是输出文件的名称。
将5和6的总结起来
ffmpeg -i input.mp4 -r 24 -crf 23 -preset slower output.mp4
效果是将我原先10兆大小的视频文件,压缩到了5兆。