Linux

Ubuntu 20.04.4 LTS에서 ffmpeg 설치 하는 방법(Unknown encoder 'libfdk_aac')

nineDeveloper 2022. 6. 27.
728x90

개요 (Overview)

Ubuntu 20.04.4 LTS에서 ffmpeg 설치 하는 방법

Ubuntu에서 sudo apt-get install ffmpeg 로 ffmpeg를 설치할 수 있지만 'libfdk-aac'가 없어서 디코딩을 못한다거나
커스텀한 설정이되지 않아 인코딩이나 디코딩이 되지 않을 수 있다

본인의 경우 인코딩시 Unknown encoder 'libfdk_aac' 모듈을 찾으면서 오류가 발생해서 기존에 설치된 ffmpeg를 제거하고
아래의 명령어로 ffmpeg를 설치해서 문제를 해결하였다

cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libtheora \
--enable-libvorbis \
--enable-libmp3lame \
--enable-nonfree \
--enable-gpl
PATH="$HOME/bin:$PATH" make
make install
make distclean
hash -r

$ sudo apt-get update -qq && sudo apt-get -y install \
    autoconf \
    automake \
    build-essential \
    cmake \
    git-core \
    libass-dev \
    libfreetype6-dev \
    libgnutls28-dev \
    libsdl2-dev \
    libtool \
    libva-dev \
    libvdpau-dev \
    libvorbis-dev \
    libxcb1-dev \
    libxcb-shm0-dev \
    libxcb-xfixes0-dev \
    pkg-config \
    texinfo \
    wget \
    yasm \
    zlib1g-dev \ 
    nasm \
    libx264-dev \
    libx265-dev \
    libnuma-dev \
    libvpx-dev \
    libfdk-aac-dev \
    libmp3lame-dev \
    libopus-dev

$ mkdir -p ~/ffmpeg_sources ~/bin

$ cd ~/ffmpeg_sources && \
wget -O ffmpeg-5.0.1.tar.bz2 https://ffmpeg.org/releases/ffmpeg-5.0.1.tar.bz2 && \
tar xjvf ffmpeg-5.0.1.tar.bz2 && \
cd ffmpeg-5.0.1/ && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  --prefix="$HOME/ffmpeg_build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/ffmpeg_build/include" \
  --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  --extra-libs="-lpthread -lm" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree && \
PATH="$HOME/bin:$PATH" make && \
make install && \
hash -r

$ echo "MANPATH_MAP $HOME/bin $HOME/ffmpeg_build/share/man" >> ~/.manpath


# ~/bin 에 있는거 /usr/local/bin 으로 복사
$ sudo cp ~/bin/* /usr/local/bin

참고

728x90

댓글

💲 추천 글