問題

問題

私はUbuntu 14.04.1 LTSを使用しています。質問は次のようになります不明なエンコーダー 'libmp3lame'しかし、そこに書かれていることすべてに従い、記載されているすべてのパッケージをインストールしましたが、それでもエラーが発生します。

以下のコマンドで、ffmpeg を使用して FLAC を MP3 に変換しようとしています。

ffmpeg -i hang_drum.flac -acodec libmp3lame destination_path.mp3

エラー:

ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
 built on Sep  5 2014 17:58:33 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: 
  libavutil      52. 92.100 / 52. 92.100
  libavcodec     55. 69.100 / 55. 69.100
  libavformat    55. 48.100 / 55. 48.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 11.100 /  4. 11.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
Input #0, flac, from 'hang_drum.flac':
  Metadata:
    TSS             : Logic 10.0.6
    ENCODER         : Lavf55.44.100
  Duration: 00:02:36.06, start: 0.000000, bitrate: 627 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16

私は試した:

  • sudo apt-get install ffmpeg libavcodec-extra-53
  • sudo apt-get install ffmpeg libavcodec-extra-54
  • sudo apt-get install libmp3lame0
  • sudo apt-get install libav-tools:i386
  • sudo apt-get install ffmpeg libav-tools

これらを実行した後も、同じエラーが発生しますlibmp3lame。何が足りないのでしょうか?

答え1

Ubuntuは、libavフォークを採用してffmpegを公式にバンドルしていません。PPAこれはかなり古いので、ffmpeg の古いバージョンを実行するつもりがない限り、使用すべきではありません。

正直に言うと、ffmpegUbuntu では公式にバンドルされていないため、なぜそれがあなたの特定のケースで機能しないのか、あるいはそもそもどうやって実行できたのかはわかりません。

ただし、常に機能する 2 つの解決策を以下に示します。

静的ビルドを使用する

簡単な解決策は、単純に最新の静的ビルドをダウンロードする(下にスクロールしてLinux 静的ビルド)。これらにはすべて libmp3lame がバンドルされています。そのビルドをどこかの場所に抽出し、ffmpegPATH 内のディレクトリにコピーします。例:

cd ~/Downloads
tar xvf ffmpeg-*.tar.xz
cd !$
sudo mkdir -p /usr/local/bin
sudo cp ./ffmpeg ./ffprobe /usr/local/bin/
sudo chmod ugo+x /usr/local/bin/ffmpeg /usr/local/bin/ffprobe

また、/usr/local/binシェル内にあることを確認してくださいPATH

ソースからコンパイル

これにより、必要なすべての追加機能を備えた最新バージョンも入手できます。FFmpeg wiki の常に最新のガイド少し時間がかかりますが、より多くの設定オプションが提供され、ライセンス上の理由で静的にバンドルできない libfdk_aac などの他のエンコーダーにアクセスできるようになります。

答え2

問題

をコンパイルしたようですが、 MP3 オーディオをエンコードするために必要なffmpegconfigure オプションを省略しました( もありますが、これはほとんどのユーザーには必要のない固定小数点 MP3 エンコーダーです)。--enable-libmp3lame--enable-libshine

さらに、コンパイルする前に依存関係としてパッケージが必要になりますlibmp3lame-dev。現在、これには LAME ≥ 3.98.3 が提供される必要があるため、パッケージが古すぎる場合は、代わりに LAME をコンパイルすることもできます。

直し方

FFmpeg を使用する場合、主に 3 つのオプションがあります。

コンパイル

上で述べたように、LAMEの依存関係と--enable-libmp3lameconfigureオプションが必要になります。Ubuntu FFmpeg コンパイル ガイドステップバイステップの手順についてはこちらをご覧ください。

ダウンロード

ダウンロードして解凍し、実行するだけです。静的ビルドffmpegMP3エンコードが有効になっています。

ペイパー

Ubuntu 14.04ユーザーはmc3man の Trusty 向け Ubuntu マルチメディアMP3エンコードもサポートしています。

関連情報