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つのチャネルのみをエンコードできます。組み込みのFFmpeg AACエンコーダーがlibvo_aacencが不要になった点まで改善されたため、 libvo_aacencはFFmpegから削除されました のサポート。
最近のffmpeg
を使用し、組み込みのAACエンコーダーを使用します。そのため、-acodec libvo_aacenc
の代わりに-acodec aac
(または-c:a aac
)を使用します。
ffmpeg
が使用できると仮定することはできませんffmpeg
をコンパイルする場合、libavcodec-extra-54
をインストールしても何も起こりません。コンパイル時に、外部コーデックライブラリのサポートを追加するには、次のことが必要です。
./configure
オプションを使用して、--enable-libx264
などのffmpeg
で有効にします。サポートされている外部コーデックライブラリのリストについては、./configure --help
を参照してください。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である可能性が高いため、オーディオは ストリームコピー になっています。