安装FFmpeg并设置系统路径

FFmpeg(缩写自Fast Forward mpeg,快速向前动态图片技术)是法国科学家Fabrice Bellard发起、主持开发的开源音视频编码软件,官方说法是多媒体框架,能够解码、编码、转译、mux、播放、串流、滤镜处理几乎所有已知的音频、视频、图像文件。

任何你可以想到的古老的音视频格式,以及最新的H266、AV1等先进格式,他都支持,更难能可贵的是他提供微软Windows、Linux、Mac OS X等主流平台,目前龙芯ISA也已完成FFmpeg上游适配工作。

关于FFmpeg转码的特点

FFmpeg是专注于音视频文件转码的后台软件,只提供命令行的后端程序,无图形界面(GUI)。

FFmpeg的口号就是:让视频转码变得超级简单!
FFmpeg -i input.mp4 output.avi

如果不想了解FFmpeg使用的各种命令参数(偷懒简化转码工作),可以直接下载“
小丸工具箱”“mediacoder”“ShanaEncoder”或“Handbrake”等软件进行音视频转码,他们的后端处理程序都是FFmpeg。

当然,如果你想要更加细致的控制音视频转码过程中的参数控制,那么使用FFmpeg绝对是最佳选择。

安装FFmpeg并添加到系统路径

下面简单介绍怎么在windows环境下安装配置FFmpeg,构建环境、机器架构,添加 PATH 环境变量。

1. 官网下载 FFmpeg文件

打开FFmpeg官网
https://FFmpeg.org
找到下载链接,下载编译好的FFmpeg可执行文件(即FFmpeg.exe)。
官网下载页面:https://FFmpeg.org/download.html

以下是官网转入GYAN编译的可执行文件下载链接(25.4M的7z文件),当前FFmpeg版本为6.1.1版:
https://www.gyan.dev/FFmpeg/builds/FFmpeg-release-essentials.7z
这里可以用迅雷下载,通过P2P技术加快文件下载速度。

2. 解压安装

下载得到的文件是7z格式的压缩包FFmpeg-6.1.1-essentials_build.7z,解压缩可以得到名为FFmpeg-6.1.1-essentials_build文件夹。
其中,包含三个子文件夹bindocpresets
bin里面是需要的FFmpeg三件套(FFmpeg.exeffprobe.exeffplay.exe),其中FFmpeg.exe是转码的核心程序。
doc里面是关于FFmpeg的使用说明,全部是网页版的,可以用chrome打开,查找需要使用的参数。

解压完成后,把bin文件夹复制到方便引用的位置,这里我们把文件复制到D:\Program Files\FFmpeg\。这样后面引用的FFmpeg.exe的时候,绝对路径就是D:\Program Files\FFmpeg\bin\FFmpeg.exe

此时,就可以进行音视频转码了,转码代码可以这样写。

“D:\Program Files\FFmpeg\bin\FFmpeg.exe” -i input.mp4 output.avi

3. 设置windows环境变量

如果不设置环境变量,那么每次转码的时候,都需要输入FFmpeg的绝对路径D:\Program Files\FFmpeg\bin\FFmpeg.exe。为了让转码过程更加优雅,我们将 FFmpeg.exe 所在的目录添加到“windows环境变量”。

具体设置方法如下(以win7为例):
选中“此电脑” → 右键“属性” → 左侧找到“高级系统设置” → 上方标签栏选择“高级” → 右下侧找到“环境变量” → 当前用户的“xx用户变量”① → 单击“Path”项② → 点击下方“编辑”按钮 → 在“变量值”中添加FFmpeg路径③ → 连点三次“确定” → 完成设置。

注意:

  • ①选择“环境变量”的时候,可以在“用户变量”或“系统变量”中找到“Path”项,两者效果是一样的。
  • ②在“变量值”中添加FFmpeg路径时,要和“Path”项中已有路径用英文“;”隔开,否则路径错误,影响电脑正常功能。
  • ③添加的FFmpeg路径是D:\Program Files\FFmpeg\bin\

设置完成后,按win+R键,输入CMD并点击“确定”进入命令行。
输入FFmpeg,如果配制成功,系统会提示FFmpeg版本信息。

使用FFmpeg转码视频

在配制好环境变量以后,转码的命令行转码的写法就可以是FFmpeg -i input.mp4 output.avi了。但此时,input和output还是需要填写绝对路径。

如果想要对特定文件夹中的MP4、MKV文件进行转码,那么可以在文件夹中按SHIFT+鼠标右键,选择“在此处打开命令窗口”,快速将CMD控制的操作路径设置为当前文件夹。这样就可以不用填写视频文件的绝对路径了,直接FFmpeg -i input.mp4 output.avi实现转码。

关于FFmpeg转码过程中,更多参数的设定,可以浏览官网提供的说明书。
https://FFmpeg.org/FFmpeg-all.html

使用FFmpeg提取视频的音轨

日常工作中,常常需要将xxx演讲.mp4或xxx第n课.mp4的视频文件,用来听学。那么就可以使用FFmpeg提取视频中的音轨文件,具体方法如下。

  1. FFmpeg.exe -i input.mp4 -vn -c:a copy output.m4a
  2. FFmpeg.exe -i input.mp4 -vn -c:a aac output.m4a
  3. FFmpeg.exe -i input.mp4 -vn output.mp3

区别仅在于:1是直接复制音轨重新封装为m4a音频文件;2是将视频文件中的音轨用AAC重编码并输出m4a音频文件;3是将视频文件中的音轨用MP3格式重编码并输出MP3文件。

如果想要更加便捷的进行视频文件音轨提取,那么可以把该命令添加到“右键菜单”。

  1. 新建txt文档,贴入以下代码并保存。

    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOT\*\shell\FFmpeg]
    @="提取音频mp4->m4a"
    [HKEY_CLASSES_ROOT\*\shell\FFmpeg\command]
    @="\"D:\\Program Files\\FFmpeg\\bin\\FFmpeg.exe\"-i %i -vn -codec copy %i.m4a"

    注意:如果上面配制FFmpeg的路径不同,则需要相应的调整FFmpeg路径。

  2. 将txt文档后缀改为reg,双击该文件,提示合并注册表,确认。
    这样,右键菜单就多了一个“提取音频mp4->m4a”选项,以后需要提取音频的时候,直接选中视频文件右键点击“提取音频mp4->m4a”按钮,即可实现一键提取。

  3. 如果想要删除右键该选项,那么按win+R键,输入regedit并点击“确定”进入注册表编辑,找到[HKEY_CLASSES_ROOT\*\shell\FFmpeg\command]行并删除即可。

以上只是一个简单的示例,熟练以后可以根据自己的使用需要,创建任意右键快捷按钮,一键实现各种转码功能。