如何在 dockerized Debian 11 中安装 ffmpeg 6?

如何在 dockerized Debian 11 中安装 ffmpeg 6?

我有一个正在运行我的 Web 应用程序的 Debian Docker 映像,这是我的 Dockerfile 的头部:

FROM ruby:3.0.2

# Install dependencies
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs

# Install ffmpeg for video processing
RUN apt-get install -y ffmpeg

安装的Debian是11.1版本:

cat /etc/debian_version
11.1

安装的ffmpeg是4.3.5:

ffmpeg -version
ffmpeg version 4.3.5-0+deb11u1 Copyright (c) 2000-2022 the FFmpeg developers

我在这个docker镜像上大量使用了ffmpeg,我希望得到最后一个版本现在是 6.1.1

如何配置我的 Dockerfile 以便在构建图像时安装最新版本的 ffmpeg?

答案1

可以看出这里,在 Debian 上,ffmpeg 6.1 仅作为 Sid(不稳定)包提供。没有靶心(11)反向移植两者都不是。有多种方法可以解决此问题:

  • 使用高山红宝石例如,3.0.2-alpine如果你出于某种原因需要该版本。Alpine 有最新的6.1.1 版本。我认为这是最简单且最推荐的方法,除非您出于特殊原因需要 Debian。
  • 基于发行版构建自己的 Ruby 容器,该容器可以访问最新的 ffmpeg 和所需的 Ruby 版本
  • 从源代码构建 ffmpeg,例如此处的说明。在 Dockerfile 中并不推荐,您需要知道自己在做什么,另外依赖项可能也会丢失或不稳定。

相关内容