ubuntu - 为 ubuntu 16.04 安装 FFMPEG 的所有编码器?

标签 ubuntu ffmpeg encoder

<分区>

我正在使用 FFMPEG 将视频转换为 mp4 格式。

首先,它给我一个关于Unknown encoder 'libfdk_aac' 的错误。安装 libfdk_aac 后,现在它给我 Unknown encoder 'libx264'

有没有办法为 Ubuntu 16.04 安装 FFMPEG 的所有编码器?

最佳答案

ffmpeg 不是那样工作的。您不能真的只安装任意编码器并期望它使用它们。

几个选项

如果您想要一组特定的编码器,您必须:

  • 编译ffmpeg,或者
  • 找到支持您想要的编码器的不同 ffmpeg 版本,或者
  • 使用您的 ffmpeg 已经支持的替代编码器。 ffmpeg

编译

因为 libfdk_aac 被认为是非自由的,因此与 GPL 不兼容,你不太可能找到任何支持它的现有 ffmpeg 构建被分发,所以你必须编译。有一个指南可以帮助您做到这一点,它将包括对 libfdk_aac 和 libx264 的支持:

FFmpeg Wiki: Compile FFmpeg on Ubuntu

下载已编译的 ffmpeg 和/或使用不同的编码器

如果您愿意使用 native FFmpeg AAC 编码器 (-c:a aac) 而不是 libfdk_aac,那么只需使用存储库中的 ffmpeg 或更好的方法是 download a recent version.

16.04 版本库中的 ffmpeg 已经很老了,但它应该默认支持 libx264,所以你必须使用不是来自版本库的版本。

但我想要所有编码器

FFmpeg 有许多内置(“ native ”)编码器,大多数默认编译,但它也支持许多外部编码器。如果您想要所有这些,那么您将必须在编译期间运行 configure 时单独启用所有受支持的外部库。有许多外部库,每个库都需要适当的头文件,因此您必须找出哪个库需要哪个 -dev 包。例如,要使用 --enable-libx264,您需要先安装 libx264-dev 包。

这会浪费时间。没有人需要所有编码器,有些编码器不相关或无用。只需启用您需要的那些即可。

关于ubuntu - 为 ubuntu 16.04 安装 FFMPEG 的所有编码器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48212734/

相关文章:

drupal - 从 6.12 升级到 6.15 后无法在 Drupal 上启用 Clean URL

c# - C#Theora编码器?

java - 如何在不浪费内存的情况下在 JBoss-Netty 中使用无限帧大小?

c++ - ffmpeg C API - 创建帧队列

video - 用于移动设备的 ffmpeg 视频编码

python - Python 中的 default() 方法

docker - 当我构建 docker 镜像时,为什么会跳过多项选择题? (例如,安装 dnsutils 的地理区域)

node.js - 使用 NPM 在 Ubuntu 上全局安装 Electron

linux - 如何修复从 Linux 上的 Docker 启动的 Qt5 (QML) GUI 中的 libGL 错误?

windows - 批量连接视频对