# 音频视频格式批量转换终极工具：FFmpeg（附自动化）

> 本文公开全文。

原文：https://utgd.net/article/20132

工作忙时，我囤下不少演讲视频，几乎撑满了电脑空间。演讲毕竟不比网课，画面上主要就是些肢体动作表演，不看也罢，基本可以当成播客听；于是，工作告一段落，我把这些利维坦级别的视频稍作处理，导成一段一段音频，轻于存储，敏于聆听。

即便不是影像专业工作者，偶尔也会像我这样，遇上需要把视频转音频的时候：看书时播放的白噪音也不用看画面，锁上手机听声音就好；新发布的单曲可能还没有上架流媒体音乐，倒是先在 YouTube 上发布了 MV，吊足了胃口……总之，在诸多场合下，都可能要把视频转换成音频。

本文将介绍一套将视频和无损音频批量转换为 MP3 的方法，方便在各种设备上离线播放音频的同时，也大大节省体积。下面还附有 Automator 和 LaunchBar 版动作下载，当然，其中代码完全可以移植到其他常见自动化工具中。

- 音频视频转 MP3 Automator 动作下载

- 音频视频转 MP3 LaunchBar 动作下载

## 安装和使用动作

本文动作基于一款开源音视频处理工具 FFmpeg 打造。你可能没有听说过 FFmpeg，但肯定接触过使用了 FFmpeg 的产品，包括 MPlayer、VLC、Pot Player，以及 Google 的 YouTube。简言之，基本上你能想到的和音视频有关的功能——从格式转换、压缩尺寸、拼接视频到下载 m3u8 文件——基本都可以用 FFmpeg 实现。

使用本文动作首先需要安装 FFmpeg，为了方便日后统一管理，推荐用 HomeBrew 安装。

```
brew install ffmpeg
```

之后，将本文动作放置于 ~/Library/Services/ 文件夹中，稍等即可在右键菜单（在音视频文件上点击右键）中看到对应动作。视频文件的右键菜单中将出现“Video2MP3”，无损音频文件的菜单中则是“Flac2MP3”，运行后可在当前文件夹中获得对应的 MP3 版本。

本文所提供的动作均支持批量处理文件。我们很可能囤了好几期演讲或脱口秀，或者收集了一批白噪音，又或者下载了一份播放清单中的所有视频……借用自动化动作，处理数量再多的视频也没有太大区别，只需要按下按钮，接下来喝点东西等电脑运行就好了。作为参照，我在 2015 的旧笔记本电脑上转换一首流行歌需要 3 秒钟，对于多数读者来说性能应该不成问题。实在不幸遇上电脑卡顿，可以在点击顶部菜单栏的齿轮按钮，结束当前 Automator 动作。

## 了解 FFmpeg 的格式转换命令

FFmpeg 命令多矣，弱水三千，只取一瓢饮，现在需要的只是格式转换相关命令。这里介绍 FFmpeg 并非为了鼓励诸位使用命令行，一般来说也没有必要；只是，多一些了解，就可以自行调整参数，让导出的音频质量更符合个人需求。这就像多了解一些工程知识，并不是真的为了从零开始造一辆汽车，更多时候是方便日常维护和修理。

以视频转 MP3 的命令为例，它大概长这样：

```
ffmpeg -i "视频文件的路径" -b:a 128k "MP3 文件的路径"
```

其中 \-i 表示输入文件（可能取自 input 的首字母），\-b\:a 用于控制生成音频的质量（流量）。输出文件的格式会根据文件名自动调整，我在动作中直接写明输出文件为 某某\.mp3，故不再需要手动指定格式。

通常而言，唯一需要调整就是 \-b\:a 后面的参数，数值越大质量越好，相应的文件体积往往也越大。128k 是一个比较均衡的参数，适合 TAD 演讲、脱口秀、白噪音等“听个响”的音频，这类资源对于音质的要求毕竟不可与音乐同日而语，听者兴许还愿意稍微牺牲一下质量来换取更轻巧的文件体积——它们往往动辄几十分钟几个小时，非常占空间。

另外，FFmpeg 的质量（流量）参数单位除了 k 即 kbits/sec 还有 bits/sec（这种情况的话，在数字后面不带任何单位），可能因 FFmpeg 的版本而有别。通过 HomeBrew 安装的 FFmpeg 一般都是 k，无需修改就能直接使用本文动作。

了解命令结构之后，就可以合上命令行界面，打开自动化工具，将 FFmpeg 命令打包成更易用的自动化动作。

## 用 Automator 分别处理音频和视频

了解 FFmpeg 的格式转换命令后，原理上完全可以搭配任何支持 Shell 脚本的自动化工具，但我习惯使用 Automator，几乎只有它可以自动区分音频和视频。另外，FFmpeg 免费开源，Automator 系统原生，这一组合可以不花一分钱。

和一般的自动化工具不同，Automator 可以区分不同文件类型，只在右键菜单中呈现有关动作，不会混杂不相关的动作。选中音频文件时不会出现视频动作，处理视频时同样不会被音频动作打搅。

具体设置在 Automator 编辑界面顶部的“Workflow receives current … in …”部分，除了圈定当前工作所接受的文件类型，还可以划定动作需要生效的应用范围，就音频处理而言，一般设置“audio files”和“Finder”，而视频处理则选择“movie files”和“Finder”。如果你还需要在 DEVONthink 等第三方文件管理器中处理音视频，也可以将应用范围扩大到“any application”。

其他专用与某一文件类型的自动化动作，也不妨做成 Automator 版本。不少自动化玩家讨论过“给快捷键解压”的话题（本站也有过），指出了自动化动作太多、快捷键“不够用”的现象，其实右键菜单中的 Automator 动作也是出路之一，可以分担快捷键的一部分压力。

较之 FFmpeg 的一身功夫，本文所涉之音视频转换，只是浅尝而已。正如图像处理领域的 imagemagick，或者文本编辑中的 sed 和 awk，FFmpeg 也是十八般武艺俱全。FFmpeg 的开发人员在 采访中 谈到，“FF”是“Fast Forward”（快速推进）之意，至于到底是取自视频播放器的一个常见功能，还是自嘲开发速度太慢，就不得而知。要之，FFmpeg 几乎是目前最可靠的音视频处理工具——无论比较对象是否开源——现成工具力有未逮之事，大可放心交给 FFmpeg“抄底”。

---

[前往标准阅读页](https://utgd.net/article/20132?audience=web)
