我和Ubuntu 18.04有一个码头形象。这已经,从正常回购包,ffmpeg 3.4.6,但我想升级到4.x。我尝试了jonathonf's PPA的“标准”方式,但我得到了库版本错配。
以下是详细信息:
FROM nvidia/cudagl:10.0-runtime-ubuntu18.04
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN apt-get update -y && \
apt-get install -y apt-utils && \
apt-get install -y curl x11-apps xserver-xorg libglu1-mesa-dev freeglut3-dev mesa-common-dev \
libgtk2.0-0 libxmu-dev libxi-dev mesa-utils htop libgtk-3-dev libglfw3 vim \
python zip unzip software-properties-common ffmpeg imagemagick python3.6-dev && \
rm -rf /var/lib/apt/lists/*
+ some unrelated stuff (CUDA, python packages, etc.)之后(当我登录到一个容器,但如果我在Dockerfile中这样做的话),我会执行bog标准:
add-apt-repository ppa:jonathonf/ffmpeg-4
apt-get update
apt-get install ffmpeg也就是说,当我安装不同的机器时,我做了很多次了。
然而,与通常的ffmpeg version 4.2 Copyright (c) 2000-2019 the FFmpeg developers或类似的情况不同,我在运行ffmpeg时得到的是这样的东西:
ffmpeg: relocation error: /usr/lib/x86_64-linux-gnu/libavfilter.so.7: symbol av_gcd_q version LIBAVUTIL_56 not defined in file libavutil.so.56 with link time reference我在谷歌上搜索过,这似乎是一个库版本错配。我试着卸载和重新安装相关的libav包,将ppa放在Dockerfile的开头(在任何实质性安装之前)、apt upgrade、apt autoremove、各种组合,但似乎没有任何东西给我提供一个可行的二进制文件。
我想我可以获得一个静态构建的ffmpeg,并将其包含在我的坞映像中,但我更喜欢这样做,只需要从ppa/回购包安装4.x。我怎么能这么做?
发布于 2021-02-05 15:23:09
只需通过snap安装ffmpeg:
sudo snap install ffmpegsnap search ffmpeg
Name Version Publisher Notes Summary
ffmpeg 4.3.1 snapcrafters - A complete solution to record, convert and stream audio and video.https://github.com/snapcore/snapcraft/blob/master/docker/stable.Dockerfile
https://askubuntu.com/questions/1287770
复制相似问题