如何在我的 ubuntu 中安装 FFmpeg 的最新开发库?

如何在我的 ubuntu 中安装 FFmpeg 的最新开发库?

我即将在我的 Ubuntu 中安装 FFmpeg 2.0.1(最新版本)。我的系统中已经安装了较旧的开发库。在之前的安装中,我没有从源代码构建它们。我使用了“Synaptic 包管理器”。
有人能帮我解决以下问题吗:

  1. 为什么 Synaptic 软件包管理器不显示最新版本,导致我可以轻松更新到最新版本?我可以做些什么来修复它吗?
  2. 我如何才能找到我的系统上已安装的库的版本?(我确信它是一个旧版本,但我想知道版本号)。
  3. 我正在尝试完全删除旧版本并再次从源安装新库。有人能帮我吗?

答案1

为什么 Synaptic 包管理器不显示最新版本?

Ubuntu Wiki – 稳定版本更新

一旦 Ubuntu 版本完成并发布,其更新仅会在特定情况下发布,并且必须遵循称为“稳定版本更新”或 SRU 的特殊程序。

这意味着软件包通常无法与活跃的上游源保持同步更新。

我能做些什么来修复它吗?

您可以按照分步指南编译并安装您自己的最新版本的 ffmpeg 及其库:在 Ubuntu、Debian 或 Mint 上编译 FFmpeg。本指南执行本地安装,因此不会干扰存储库包或系统文件,但如果您正在编译依赖于新库的内容,您可能必须告诉它新的 ffmpeg 库位于何处。

如果您正在编译许多程序,或者需要比所提供的更新的几个软件包,那么从长远来看,Ubuntu 可能不是最有效的发行版。

如何找到我的系统上已安装的库的版本?

主版本存在于包名称中,例如libavcodec53

我正在尝试完全删除旧版本并再次从源代码安装新库。

如果您想要执行替换 ffmpeg 或 libav-tools 软件包和/或库的系统安装,那么您可以简单地删除现有软件包,然后编译 ffmpeg,然后使用checkinstall或其他方法安装到系统。请参阅此旧版前面提到的指南可以完成所有这些操作,但请注意,它已经过时了,并且至少您可能必须将其添加--extra-libs=-ldl到 ffmpeg 配置行中。

如果您想执行本地安装,请遵循当前版本的编译指南。


误导性的包名称

您应该知道,存储库中所谓的“ffmpeg”实际上并非来自 FFmpeg,而是来自名为 libav 的分支。请参阅谁能告诉我ffmpeg,libav和avconv之间的区别和关系?

答案2

这个答案是为了帮助新手安装 FFmpeg 的最新开发库,并工作与他们一起。我通过艰苦的方式才知道,安装开发库只是开始。真正困难的部分是编译(使用适当的标志)并从源文件生成可执行文件(成功!)。

上述链接中的过程非常简单(尽管有点冗长且耗时)。您必须复制命令并将其粘贴到终端中。

  • 上述过程创建了 FFmpeg 库的本地安装。它是一个静止的库。本地安装的意思是系统对库一无所知。

借助 Google,您可以找到有关库类型及其使用方法的信息。这足以让您入门:图书馆类型。如果你只是担心得到使用库编译源代码完毕。

  • 现在,这是最难的部分。我不得不尝试了几个小时,才把这个部分做好。你需要让编译器知道关于您的 FFmpeg 库。您实际上在下一步中执行此操作,同时为其提供适当的标志。但您需要做一些准备工作在进行下一步之前。

复制所有。个人电脑文件来自/主页/jsp99/ffmpeg_build/lib/pkgconfig并粘贴到在/usr/local/lib/pkgconfig

由于在 Ubuntu 中复制粘贴并不容易,因此请按照链接以获取说明。

  • 要实际编译源代码并形成可执行文件,请在终端中输入此命令:

gcc -Wall -o module1.out -I/home/jsp99/ffmpeg_build/include -L/home/jsp99/ffmpeg_build/lib module1.c $(pkg-config --cflags --libs libavformat libavcodec libswscale)


/主页/jsp99是当前用户的主文件夹。
模块1.c是我的源文件的名称。
模块1.输出是可执行文件(输出)的名称。

相关内容