[解決済み] FFmpeg を libfdk_aac と共にコンパイルする。
質問
mp3 を m4a に変換する方法を読んでいて、AAC エンコーダの libfdk_aac を使用する場合は FFmpeg をコンパイルしなければならないことがわかりました。
しかし、FFmpegのガイドを読むと、FFmpegをlibfdk_aacでコンパイルする方法は、私のような初心者には意味がありません。
libfdk_aac を使用するために、エンコーディングガイドにはこう書かれています。
ffmpegが--enable-libfdk_aacで設定されている必要があります。 --enable-nonfree.
そのフラグはどこに置けばいいのですか?
この辺に置けばいいのかな?
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 server 12.4 を使用しています。
アップデイト
システムをUbuntu 16.04にアップグレードした後、ffmpegを再度インストールする必要がありました。 まだlibfdk-aacが必要でした。幸いにも、良いステップバイステップガイドが以下にあります。 http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu ffmpegのコンパイル方法について。
でのffmpegのコンパイルに興味があるだけなら、コンパイル方法を共有しようと思いました。 libfdk-aac と libmp3lame .
ホームディレクトリにbinがない場合。
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
解決方法は?
<ブロッククオート
ffmpegが以下のように設定されている必要があります。
--enable-libfdk_aac --enable-nonfree
.
これらの指示は、ffmpeg configureのことであり、ffdk-aac configureのことではありません。さらに
FFmpegとAACエンコーディング
のガイドにしたがっているものと思われます。
Ubuntu、Debian、またはMintでFFmpegをコンパイルする
のガイドを参照してください。このガイドには、ffmpeg で libfdk_aac をサポートするために必要なものがすべてすでに含まれています。
--enable-libfdk_aac
と
--enable-nonfree
は、すでに
./configure
の行は、ffmpeg のためのものです。
あとは、各コードボックスをうまくコピー&ペーストするだけです。
関連
-
[解決済み] ffmpegが、画像からスライドショーを作ろうとすると、「Output file #0 does not contain any stream」と投げる。
-
[解決済み] ffmpeg 入力された h264 を h265 に処理する際に無効なデータが見つかった
-
[解決済み] ffmpeg が MJPEG エンコード用に高画質な画像を生成する。
-
[解決済み] FFMPEG (libx264) "height not divisible by 2".
-
ffmpeg 関数: av_read_frame() の解析。
-
[解決済み] ffmpeg concat: "安全でないファイル名"
-
[解決済み] FFmpegからRTSPをストリーミングするには、どのような手順が必要ですか?
-
[解決済み] ffmpegのコマンドラインでの "copy "は何をするのですか?
-
[解決済み] FFmpegを使って2つのMP4ファイルを連結する方法は?
-
パイソン ffmpeg パイプ交互接続
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ffmpegが存在する場合、出力ファイルを上書きする
-
[解決済み] ffmpeg 入力された h264 を h265 に処理する際に無効なデータが見つかった
-
[解決済み] FFMPEG (libx264) "height not divisible by 2".
-
暗号化されたHLS(m3u8)ビデオ変換の問題を解決します。
-
ffmpeg 関数: av_read_frame() の解析。
-
[解決済み] FFmpegからRTSPをストリーミングするには、どのような手順が必要ですか?
-
[解決済み] ffmpegのコマンドラインでの "copy "は何をするのですか?
-
[解決済み] FFmpegで動画を回転させる
-
[解決済み] Past duration X.XXX too large』とはどういう意味ですか?
-
[解決済み] ffmpegで.flacを.mp3に変換し、すべてのメタデータを保持する。