mp3 を m4a に変換する方法を読んでいて、AAC エンコーダー libfdk_aac を使用する場合は FFmpeg をコンパイルする必要があることがわかりました。
しかし、libfdk_aac を使用して FFmpeg をコンパイルする方法に関する FFmpeg ガイドを読んでも、私のような初心者には意味がありません。
libfdk_aac を使用するには、エンコーディング ガイドに次のように記載されています。
--enable-libfdk_aac --enable-nonfree を使用して ffmpeg を構成する必要があります。
それらのフラグはどこに置くのですか?
ここのどこかに入れますか?:
cd ~/ffmpeg_sources
git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
make distclean
それともここのどこか?
cd ~/ffmpeg_sources
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure --prefix="$HOME/ffmpeg_build" \
--extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac \
--enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx \
--enable-libx264 --enable-nonfree --enable-x11grab
make
make install
make distclean
hash -r
コンパイル ガイドを正しく読んでいれば、これら 2 つのコードのチャンクが FFmpeg をコンパイルするために必要なものだと思います。
Ubuntuサーバー12.4を使用しています
アップデート
システムを Ubuntu 16.04 にアップグレードした後、ffmpeg を再度インストールする必要がありました。まだ libfdk-aac が必要でした。幸いなことに、ffmpeg のコンパイル方法については、 http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntuに段階的なガイドがあります。
libfdk-aacとlibmp3lameを使用して ffmpeg をコンパイルすることに興味がある場合は、コンパイル方法を共有すると思いました。
ホームディレクトリにまだビンがない場合:
mkdir ~/bin
依存関係をインストールします。サーバー以外のパッケージは必要ありませんでした:
sudo apt-get update
sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev
次に、エンコーダーを取り付けます。yasm もインストールする必要がありました。そうしないと、コンパイル時にエラーが発生しました。
sudo apt-get install libfdk-aac-dev
sudo apt-get install libmp3lame-dev
sudo apt-get install yasm
次に、必要なフラグを指定して 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