web-dev-qa-db-ja.com

不明なエンコーダー 'libvo_aacenc'エラー

X262ライブラリをインストールしてから、これらのコマンドを使用してffmpegを/ var/www/html/GetVideoディレクトリにインストールしました。

# build and install x264
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --Host=arm-unknown-linux-gnueabi --enable-static --disable-opencl
make -j 4
Sudo make install

# build and make ffmpeg
git clone --depth=1 git://source.ffmpeg.org/ffmpeg.git
cd ffmpeg
./configure --Arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree
make -j4
Sudo make install

ですから、/ var/www/html/GetVideo/x264ライブラリと/ var/www/html/GetVideo/x264/ffmpegディレクトリがあります。

その後、私はlibavコーデックをインストールしました

Sudo apt-get install libavcodec-extra-54

次に、フレームサイズとフレームレートを変更しようとしました。

ffmpeg -i /var/www/html/GetVideo/video/20180503145826-8849_1080.mp4 -acodec libvo_aacenc -vcodec libx264 -s 1920x1080 -r 60 -strict experimental /var/www/html/GetVideo/video/output.mp4

Libavコーデックをインストールしましたが、まだ不明なエンコーダー 'libvo_aacenc'エラーが発生しています。どこに行方不明になっているのかわかりませんか?ビデオのサイズを変更するにはどうすればよいですか?

2
Tahtakafa

FFmpegはlibvo_aacencをサポートしなくなりました

これは低品質のエンコーダであり、最大2つのチャネルのみをエンコードできます。組み込みのFFmpeg AACエンコーダーがlibvo_aacencが不要になった点まで改善されたため、 libvo_aacencはFFmpegから削除されました のサポート。

最近のffmpegを使用し、組み込みのAACエンコーダーを使用します。そのため、-acodec libvo_aacencの代わりに-acodec aac(または-c:a aac)を使用します。

コーデックをインストールして、ffmpegが使用できると仮定することはできません

ffmpegをコンパイルする場合、libavcodec-extra-54をインストールしても何も起こりません。コンパイル時に、外部コーデックライブラリのサポートを追加するには、次のことが必要です。

  1. 関連する-devパッケージをインストールします。たとえば、H.264ビデオエンコーディングの場合、libx264-dev
  2. 適切な./configureオプションを使用して、--enable-libx264などのffmpegで有効にします。サポートされている外部コーデックライブラリのリストについては、./configure --helpを参照してください。
  3. ffmpegをコンパイルします。

コンパイルする場合は、ステップバイステップガイドについて FFmpeg Wiki:Compile for Ubunt を参照してください。

ただし、libavcodec-extra-54をインストールすると、リポジトリからffmpegに追加のコーデックが追加されます(この追加のコーデックはもうわかりません)。

なぜコンパイルするのですか?

ffmpegはUbuntuリポジトリで利用可能です。なぜそれを使用しないのですか?

Sudo apt-get install ffmpeg

欠落している機能がある場合は、コンパイルを検討できます。

ビデオのサイズを変更するにはどうすればよいですか?

次に、実際の目標に取り組みます。 「サイズ変更」することで、ビデオをスケーリングしたいと思います。 scale filter を使用した簡単な例を次に示します。

ffmpeg -i input.mp4 -c:v libx264 -c:a copy -vf scale=1920:1080 output.mp4

この例では、入力と出力が両方ともMP4であり、オーディオはすでにAACである可能性が高いため、オーディオは ストリームコピー になっています。

3
llogan