# 9.7 多媒体处理工具

FreeBSD 操作系统支持多种多媒体处理工具，本节将介绍音频剪辑、视频剪辑、字幕压制以及图形图像处理等相关工具的基本使用方法。

## 音频剪辑

音频剪辑是多媒体内容处理中的常见需求，Audacity 是一款功能强大的开源跨平台音频编辑软件，广泛应用于音频录制与编辑领域。

* Audacity 安装方法：

使用 pkg（二进制包管理器）安装：

```sh
# pkg install audacity
```

或者使用 Ports（源码包管理器）编译安装：

```sh
# cd /usr/ports/audio/audacity/
# make install clean
```

```sh
/usr/
└── ports/
    ├── audio/
    │   └── audacity/ # Audacity 音频编辑器 Port
    ├── multimedia/
    │   ├── olive/ # Olive 视频编辑器 Port
    │   └── ffmpeg/ # FFmpeg 多媒体处理框架 Port
    └── graphics/
        └── inkscape/ # Inkscape 矢量绘图软件 Port
```

## 视频剪辑

视频剪辑是处理视频内容的重要环节，Olive 视频编辑器是一款开源的非线性视频编辑软件，适用于专业和非专业的视频制作场景。

Olive 视频编辑器（Olive Video Editor）安装方法：

使用 pkg（二进制包管理器）安装：

```sh
# pkg install olive-video-editor
```

或者使用 Ports（源码包管理器）编译安装：

```sh
# cd /usr/ports/multimedia/olive/
# make install clean
```

## 压制字幕

将字幕压制到视频中是常见的多媒体处理需求，FFmpeg 是一款功能强大的开源多媒体处理框架，可以高效完成此项任务及其他多种音视频处理工作。

FFmpeg 安装方法：

使用 pkg（二进制包管理器）安装：

```sh
# pkg install ffmpeg
```

或者使用 Ports（源码包管理器）编译安装：

```sh
# cd /usr/ports/multimedia/ffmpeg/
# make install clean
```

使用 FFmpeg 将 ASS（高级字幕，Advanced SubStation Alpha）格式字幕压制到视频中的示例命令：

```sh
$ ffmpeg -i 视频文件.mp4 -vf subtitles=对应字幕.ass 输出视频.mp4
```

其中，`-i` 指定输入视频文件，`-vf subtitles=` 应用字幕滤镜并指定字幕文件路径，最后为输出视频文件名。

## 抠图

抠图是图形图像处理中的常用操作技术，在 UNIX 类系统下可用的相关软件较多，这里简要介绍矢量制图程序 **Inkscape** 的基本抠图使用方法。

### 安装 Inkscape

* 使用 pkg（二进制包管理器）安装：

```sh
# pkg install inkscape
```

* 或者使用 Ports 源码编译安装：

```sh
# cd /usr/ports/graphics/inkscape/
# make install clean
```

### Inkscape 基本抠图操作步骤

1. 使用快捷键 `Ctrl` + `O`（字母 `o`）打开待处理的图片文件；
2. 用鼠标点击选中图片；
3. 按快捷键 `Alt` + `I` 将图片切换到矢量模式；
4. 使用快捷键 `Shift` + `F6` 切换到贝塞尔曲线和直线绘制模式；
5. 使用快捷键 `Ctrl` + `A` 全选相关对象；
6. 在菜单栏中选择 **路径** → **交集**选项，以实现抠图效果；

### 参考文献

* Inkscape. Inkscape Tutorials\[EB/OL]. \[2026-03-25]. <https://inkscape.org/zh-hans/learn/tutorials/>. 提供 Inkscape 矢量绘图软件的详细中文教程，涵盖基础操作与高级功能。

## 课后习题

1. 查找 FFmpeg 的 Ports，修改其编译选项以启用更多编解码器支持，构建并用其压制一段带字幕的视频，验证输出结果。
2. 选取 Audacity 中的音频编辑机制，重构其最小实现。
3. 修改 Inkscape 的默认矢量转换参数（如 Ctrl+I 的转换精度），验证其抠图效果变化。
