ffmpeg视频音频剪辑编辑

下载地址

https://ffmpeg.org/download.html

根据对应的系统选择对应的版本

windows版本

图片[1]-ffmpeg视频音频剪辑编辑-秋风落叶
图片[2]-ffmpeg视频音频剪辑编辑-秋风落叶

下载后解压出来。

ffmpeg文件解释说明

bin目录包含了3个可执行文件

ffmpeg.exe:核心工具,格式转换、剪辑、提取音乐等。

ffplay.exe:视频播放器。

ffprobe.exe:视频信息。

配置环境变量

配置环境变量方便直接使用

搜索环境变量即可

图片[3]-ffmpeg视频音频剪辑编辑-秋风落叶
图片[4]-ffmpeg视频音频剪辑编辑-秋风落叶
图片[5]-ffmpeg视频音频剪辑编辑-秋风落叶
图片[6]-ffmpeg视频音频剪辑编辑-秋风落叶
图片[7]-ffmpeg视频音频剪辑编辑-秋风落叶
图片[8]-ffmpeg视频音频剪辑编辑-秋风落叶

最后一路确认即可。

验证是否配置成功

打开cmd命令行,输入ffmpeg命令回车即可

图片[9]-ffmpeg视频音频剪辑编辑-秋风落叶

mac版本安装

通过Homebrew安装(最推荐)

Homebrew 是 macOS(或 Linux)系统上的一款“命令行版的应用商店”和“智能软件包管理器”。

它的主要作用是让你能通过一行简单的命令,就能轻松安装、更新和管理成千上万的开源软件和开发工具(比如 FFmpeg、Python、Node.js 等),并自动处理好这些软件之间的依赖关系。

教程:https://wangjian.run/8020/

安装 ffmpeg

执行安装命令
brew install ffmpeg
图片[10]-ffmpeg视频音频剪辑编辑-秋风落叶
查看是否安装成功
ffmpeg -version
图片[11]-ffmpeg视频音频剪辑编辑-秋风落叶

ffmpeg 相关命令

安装选项:如果你需要特定编解码器(如 libfdk-aac 用于高质量AAC音频),在通过Homebrew安装时可以使用 brew install ffmpeg --with-fdk-aac 等参数来启用。

查看信息:安装后,可以通过 ffprobe 视频文件名.mp4 来查看视频的详细编码信息。

更新FFmpeg:未来如需升级FFmpeg,只需在终端运行 brew update && brew upgrade ffmpeg 即可

linux安装

我这以centos 7 为例

方式1:使用 RPM Fusion 社区仓库 (推荐)

  • 安装 EPEL 仓库:RPM Fusion 依赖于 EPEL 仓库,所以我们需要先安装它
sudo yum install -y epel-release
  • 安装 RPM Fusion 的 Free 仓库:这个仓库包含了绝大多数开源的软件
sudo yum localinstall -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
  • 安装 FFmpeg:现在可以直接从 RPM Fusion 仓库安装 FFmpeg 和它的开发包了
sudo yum install -y ffmpeg ffmpeg-devel
  • 验证安装:运行以下命令,如果能看到 FFmpeg 的版本信息,就说明安装成功了
ffmpeg -version

缺点: 版本太老,2026年06月05日安装时的版本是 ffmpeg version 3.4.13

[root@centos7-1 ~]# ffmpeg -version
ffmpeg version 3.4.13 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --extra-cflags=' ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --disable-encoder=libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect
libavutil      55. 78.100 / 55. 78.100
libavcodec     57.107.100 / 57.107.100
libavformat    57. 83.100 / 57. 83.100
libavdevice    57. 10.100 / 57. 10.100
libavfilter     6.107.100 /  6.107.100
libavresample   3.  7.  0 /  3.  7.  0
libswscale      4.  8.100 /  4.  8.100
libswresample   2.  9.100 /  2.  9.100
libpostproc    54.  7.100 / 54.  7.100

方式2:使用静态编译好的二进制包

如果不想处理编译和依赖问题,也可以直接使用第三方提供的静态编译好的二进制文件(例如来自 John Van Sickle 的项目)。这种方法即下即用,非常便捷。

  • 下载静态编译版本
wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
  • 解压文件
tar xf ffmpeg-release-amd64-static.tar.xz
  • 使用 FFmpeg:进入解压后的目录,就可以直接运行里面的 ffmpeg 文件了。
cd ffmpeg-*-static/
./ffmpeg -version
  • 添加到系统路径 (方便使用):如果需要全局调用,可以将 ffmpeg 和 ffprobe 复制到 /usr/local/bin 目录下
sudo cp ffmpeg ffprobe /usr/local/bin/

完成后,就可以直接在终端中使用 ffmpeg 和 ffprobe 命令了

版本也不是最新的,2026年06月05日安装时的版本是 ffmpeg version 7.0.2

[root@centos7-1 ~]# ffmpeg -version
ffmpeg version 7.0.2-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
libavutil      59.  8.100 / 59.  8.100
libavcodec     61.  3.100 / 61.  3.100
libavformat    61.  1.100 / 61.  1.100
libavdevice    61.  1.100 / 61.  1.100
libavfilter    10.  1.100 / 10.  1.100
libswscale      8.  1.100 /  8.  1.100
libswresample   5.  1.100 /  5.  1.100
libpostproc    58.  1.100 / 58.  1.100

方式 3:源码编译安装

源码下载地址 https://ffmpeg.org/releases/

待验证!!!!!

播放视频

首先cmd进入视频的目录

ffplay 视频文件名

图片[12]-ffmpeg视频音频剪辑编辑-秋风落叶

查看视频信息

直接使用 ffprobe 视频文件名称

和播放视频的原理一样。

格式转换

把mp4格式转换为mkv格式

C:\Users\wangj0928\Downloads>ffmpeg -i 11.mp4 11.mkv

视频压缩

方法1:使用CRF参数

终极方案 转换到更高效的编码格式

ffmpeg -i 原视频.mp4 -vcodec libx265 -crf 28 -preset fast 输出.mp4

如果兼容性允许(非老旧设备播放),H.265(HEVC) 在相同画质下比H.264节省约30%-50%的空间。

确保播放设备(如手机、电视、播放器)支持播放H.265视频。

平衡质量与体积,最常用,这种方法通过一个固定的“质量值”来压缩,数值越低画质越好、文件越大,反之亦然,非常省心。

基础命令 压缩效果不太好:

ffmpeg -i 原视频.mp4 -vcodec libx264 -crf 23 -preset medium 压缩后.mp4

· 参数解析:
· -crf 23:质量系数,范围通常是18-28。23 是公认的视觉无损临界点,兼顾质量和体积。想要更小文件可尝试26-28,追求更高画质可用18-20。
· -preset medium:编码预设,控制压缩速度。可选 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow。越往右(slow),压缩效率越高(同画质下文件更小),但编码时间越长。新手用 medium 或 fast 即可。

实际输出信息如下

frame=47048 fps= 29 q=29.0 size=  619776KiB time=00:26:08.50 bitrate=3237.0kbits/s speed=0.967x elapsed=0:27:02.86 

解释说明:

字段 当前值 含义解读
frame 47048 已编码的帧数。这是最核心的进度指标。
fps 29 当前的编码速度,即每秒处理 29 帧。这个值会波动,取决于编码复杂度和电脑性能。
q 29.0 当前帧的量化参数。数值越大,画质压缩越激进,文件越小。H.264编码中,通常范围是18-28,29 属于较高的值,意味着此时正在以较高的压缩率编码。
size 619776 KiB 当前已生成的输出文件大小。约为 605 MiB(按 619776 / 1024 计算)。
time 00:26:08.50 视频时间轴上的当前位置。表示已经编码到原视频的 26分08秒50毫秒 处。相当于26分钟生成605MiB。
bitrate 3237.0 kbits/s 当前的平均视频比特率。约为 3.2 Mbps。这个值可以衡量视频的清晰度,普通1080p视频常在2.5-5 Mbps之间。
speed 0.967x 相对速度。0.967x 表示编码速度比视频的播放速度略慢。如果等于 1.0x,则表示编码速度和播放速度同步。小于1会耗时更久。计算需要时长,由于 speed=0.967x(略慢于实时),预计总编码时间将略长于视频总时长。如果视频总时长是 T,那么预计总耗时大约为 T / 0.967。
elapsed 0:27:02.86 实际已经消耗的编码时间。表示你的电脑已经为此工作了 27分02秒86毫秒。

提高CRF值(最直接有效)

ffmpeg -i 原视频.mp4 -vcodec libx264 -crf 28 -preset fast 输出.mp4
  • -crf 26-28:适用于在手机、平板上观看,画质下降不明显,体积减少显著。
  • -crf 30-32:适用于在很小的屏幕(如智能手表)或作为素材预览,体积可以压得非常小。

降低分辨率缩放到1080p

ffmpeg -i 原视频.mp4 -vf scale=1920:1080 -vcodec libx264 -crf 23 -preset fast 输出.mp4

方法2:调整分辨率

适合大屏视频用于小屏播放,直接降低视频的像素尺寸能显著减小体积。

· 基础命令:

ffmpeg -i 原视频.mp4 -vf scale=1280:720 -preset fast 压缩后.mp4

· 参数解析:
· -vf scale=1280:720:缩放滤镜,将视频分辨率调整为宽1280像素、高720像素(720P)。你可以替换为 640:360(360P)或 1920:1080(1080P)等。
· 如果只想设置宽度或高度,另一边用 -1 代替,FFmpeg会自动按比例计算,例如 scale=640:-1。

方法3:指定目标比特率

精确控制输出文件大小,直接限定视频和音频每秒的数据流量,可以更精确地控制最终文件大小。

· 基础命令:
ffmpeg -i 原视频.mp4 -b:v 1M -b:a 128k 压缩后.mp4
· 参数解析:
· -b:v 1M:将视频比特率设置为 1 Mbps。可根据需要调整为 500k(500 Kbps)或 2M(2 Mbps)。
· -b:a 128k:将音频比特率设置为 128 Kbps,96k或128k是常用值。

三种方法的对比

  1. 使用CRF参数

· 核心目标:在预设的画质等级下,获得尽可能小的文件。
· 关键参数:-crf (建议值: 23)
· 适用场景:通用性最强,追求画质与体积的最佳平衡。
· 示例命令:ffmpeg -i input.mp4 -crf 23 output.mp4

  1. 调整分辨率

· 核心目标:直接减小视频画面的像素尺寸。
· 关键参数:-vf scale=宽度:高度
· 适用场景:需要将高清视频(如4K)快速缩小,用于网络分享或移动设备播放。
· 示例命令:ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4

  1. 指定目标比特率

· 核心目标:精确控制输出视频的平均数据速率。
· 关键参数:-b:v (视频比特率), -b:a (音频比特率)
· 适用场景:对最终文件大小有明确上限要求(如平台上传限制)。
· 示例命令:ffmpeg -i input.mp4 -b:v 1M -b:a 128k output.mp4

© 版权声明
THE END
点赞9 分享