ffmpeg使用手册

ffmpeg使用手册

文章目录

本教程持续更新,我学到多少就更新多少。关于ffmpeg如何安装可以看上一篇博客win系统环境搭建(十六)------windows下载安装ffmpeg最新版。若是想有更好的阅读体验,可以直接看我GitHub博客的本篇文章,排版上会更好一点,ffmpeg使用手册

ffmpeg是什么

FFmpeg是一个开放源代码的自由软件,可以执行音频和视频多种格式的录影、转换、串流功能,包含了libavcodec------这是一个用于多个项目中音频和视频的解码器函式库,以及libavformat------一个音频与视频格式转换函式库。

具体请自行百度。😥

指令总结

1.查看ffmpeg版本

bash 复制代码
ffmpeg -version

2.mkv转mp4

bash 复制代码
ffmpeg -i input.mkv -vcodec copy -acodec copy out.mp4

3.裁剪 .mkv 视频

bash 复制代码
ffmpeg -i input.mkv -ss [start] -t [duration] -c copy output.mkv
  • input.mkv 是你要裁剪的原始视频文件。
  • [start] 是你要开始裁剪的时间,格式为 HH:MM:SS
  • [duration] 是你要裁剪的持续时间,格式也是 HH:MM:SS
  • output.mkv 是裁剪后的新视频文件。

4.不调节帧率,尽可能保证原视频质量的情况下将原始视频压缩

要使用FFmpeg将视频文件的大小减小,可以进行以下操作:

bash 复制代码
ffmpeg -i input.mp4 -crf 23 -preset medium output.mp4

这个命令将会将输入视频文件input.mp4的占用体积减小,并生成输出视频文件output.mp4

4.1 crf

在FFmpeg中,-crf参数是用于控制视频编码的质量与压缩比之间的权衡的参数。CRF(Constant Rate Factor)是一种基于目标质量的恒定比特率控制方法,它允许你设置输出视频的质量水平。CRF值越小,视频的质量越高,但文件大小也会增加。

在一般情况下,CRF值的范围是0到51。不同的范围值对应不同的质量和压缩级别。以下是一些常用的CRF值和对应的特征:

  • 0:无损模式,产生非常大的文件,质量最好。
  • 18-28:一般推荐范围,较高的质量和文件大小平衡。
  • 23:默认值,适用于大多数情况,提供良好的质量和合理的文件大小。
  • 29-51:较低质量的范围,适用于低比特率压缩或要求较小文件大小的情况。

你可以根据自己的需求和偏好选择合适的CRF值。较低的CRF值会提供更好的质量,但会增加文件大小。较高的CRF值会减小文件大小,但可能导致一些质量损失。

请注意,不同的视频编解码器可能对CRF值的范围有所不同,具体取值范围和效果可能会有所差异。建议在实际应用中进行测试和调整,以找到最适合你需求的CRF值。

4.2 preset

在FFmpeg中,-preset参数用于设置视频编码器的预设(preset)。预设是一组预定义的编码参数,可以影响编码速度和输出质量之间的权衡。不同的预设提供了不同的速度和质量选项。

以下是一些常用的预设选项:

  • ultrafast:最快的编码速度,但质量较低。
  • superfast:非常快的编码速度,稍微降低了一些质量。
  • veryfast:非常快的编码速度,质量稍低。
  • faster:快速的编码速度,质量略有降低。
  • fast:相对较快的编码速度,质量较好。
  • medium:平衡了速度和质量,是默认预设。
  • slow:较慢的编码速度,质量更好。
  • slower:更慢的编码速度,质量更高。
  • veryslow:非常慢的编码速度,提供最好的质量。

这些预设选项提供了不同的速度和质量平衡。如果你希望编码速度更快,可以选择速度较快的预设,但可能会牺牲一些质量。如果你更注重输出质量,可以选择速度较慢的预设,但编码速度会变慢。

你可以根据你的需求选择适合的预设选项。要指定预设,请使用-preset参数后跟预设名称,例如-preset medium

请注意,不同的视频编解码器可能支持不同的预设选项,具体的预设选项和效果可能会有所不同。建议在实际应用中进行测试和调整,以找到最适合你需求的预设选项。

5.调节视频帧率

bash 复制代码
ffmpeg -i input.mp4 -r 24 output.mp4

-i 选项指定了输入文件的名称为 input.mp4-r 选项指定了输出文件的帧速率为 24 帧每秒(fps),并且 output.mp4 是输出文件的名称。

6.调节帧率,尽可能保证原视频质量的情况下将原始视频压缩

将5和6的总结起来

bash 复制代码
ffmpeg -i input.mp4 -r 24 -crf 23 -preset slower output.mp4

效果是将我原先10兆大小的视频文件,压缩到了5兆。

相关推荐
EasyCVR3 小时前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
简鹿办公4 小时前
使用 FFmpeg 进行音视频转换的相关命令行参数解释
ffmpeg·简鹿视频格式转换器·ffmpeg视频转换
EasyCVR8 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
runing_an_min8 小时前
ffmpeg 视频滤镜:屏蔽边框杂色- fillborders
ffmpeg·音视频·fillborders
岁月小龙19 小时前
如何让ffmpeg运行时从当前目录加载库,而不是从/lib64
ffmpeg·origin·ffprobe·rpath
行者记2 天前
ffmpeg命令——从wireshark包中的rtp包中分离h264
测试工具·ffmpeg·wireshark
EasyCVR2 天前
国标GB28181视频平台EasyCVR私有化视频平台工地防盗视频监控系统方案
运维·科技·ffmpeg·音视频·1024程序员节·监控视频接入
hypoqqq2 天前
使用ffmpeg播放rtsp视频流
ffmpeg
cuijiecheng20182 天前
音视频入门基础:FLV专题(24)——FFmpeg源码中,获取FLV文件视频信息的实现
ffmpeg·音视频
QMCY_jason2 天前
黑豹X2 armbian 编译rkmpp ffmpeg 实现CPU视频转码
ffmpeg