「インストール - FFmpeg」の版間の差分
(ページの作成:「== 概要 == FFmpegは、デコード、エンコード、トランスコード、マルチプレクサ、デマルチプレクサ、ストリーム、フィルタリング等の多くのものを再生することができるマルチメディアフレームワークである。<br> 不明瞭な古いフォーマットから最先端のものまでをサポートしている。<br> <br> FFmpegから使用できるライブラリには、以下に示すものが含…」) |
|||
84行目: | 84行目: | ||
<br><br> | <br><br> | ||
== VP8/VP9 ビデオエンコーダ/デコーダのインストール == | |||
[https://github.com/webmproject/libvpx VP8/VP9 ビデオエンコーダ/デコーダの公式Webサイト]にアクセスして、ソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf libvpx-<バージョン>.tar.gz | |||
cd libvpx-<バージョン> | |||
<br> | |||
または、<code>git clone</code>コマンドを実行して、ソースコードをダウンロードする。<br> | |||
git clone https://github.com/webmproject/libvpx.git | |||
cd libvpx | |||
<br> | |||
VP8/VP9 ビデオエンコーダ/デコーダをビルドおよびインストールする。<br> | |||
mkdir build_vpx && cd build_vpx | |||
../configure --prefix=<FFmpegのインストールディレクトリ> --enable-shared --enable-vp8 --enable-vp9 \ | |||
--enable-webm-io --enable-libyuv | |||
make -j $(nproc) | |||
make install | |||
<br><br> | |||
== AACオーディオエンコーダのインストール == | |||
[https://sourceforge.net/projects/opencore-amr/files/fdk-aac/ AACオーディオエンコーダのsourceForge]または[https://github.com/mstorsjo/fdk-aac Github]にアクセスして、ソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf fdk-aac-<バージョン>.tar.gz | |||
cd fdk-aac-<バージョン> | |||
<br> | |||
または、<code>git clone</code>コマンドを実行して、ソースコードをダウンロードする。<br> | |||
git clone https://github.com/mstorsjo/fdk-aac.git | |||
cd lifdk-aac | |||
<br> | |||
AACオーディオエンコーダをビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
cmake -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release .. | |||
make -j $(nproc) | |||
make install | |||
# または | |||
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release .. | |||
ninja -C . | |||
ninja -C .install | |||
<br><br> | |||
== Opus オーディオデコーダ / エンコーダ == | |||
[https://opus-codec.org/downloads/ Opus オーディオデコーダ / エンコーダの公式Webサイト]にアクセスして、ソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf opus-<バージョン>.tar.gz | |||
cd opus-<バージョン> | |||
<br> | |||
または、<code>git clone</code>コマンドを実行して、ソースコードをダウンロードする。<br> | |||
git clone https://github.com/xiph/opus.git | |||
cd opus | |||
<br> | |||
Opus オーディオデコーダ / エンコーダをビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
cmake -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release -DOPUS_BUILD_SHARED_LIBRARY=ON .. | |||
make -j $(nproc) | |||
make install | |||
# または | |||
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release -DOPUS_BUILD_SHARED_LIBRARY=ON .. | |||
ninja -C . | |||
ninja -C .install | |||
<br><br> | |||
== AV1 デコーダ (dav1d)のインストール == | |||
dav1dライブラリは、AOMが提供するライブラリよりもはるかに高速である。<br> | |||
<br> | |||
AVX-512をサポートするためには、NASM 2.14以降が必要である。<br> | |||
もし、AVX-512を無効にする場合は、<code>meson</code>コマンドのセットアップにおいて、<code>-Denable_avx512=false</code>オプションを付加する。<br> | |||
<br> | |||
[https://downloads.videolan.org/pub/videolan/dav1d/ VideoLanの公式Webサイト]にアクセスして、ソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf dav1d-<バージョン>.tar.xz | |||
cd dav1d-<バージョン> | |||
<br> | |||
または、<code>git clone</code>コマンドを実行して、ソースコードをダウンロードする。<br> | |||
git clone git clone https://code.videolan.org/videolan/dav1d.git | |||
cd dav1d | |||
<br> | |||
AV1デコーダ(dav1d)をビルドおよびインストールする。<br> | |||
mkdir build && cd build | |||
meson setup .. --prefix <FFmpegのインストールディレクトリ> -Denable_tests=false \ | |||
--default-library=static # スタティックライブラリを使用する場合 | |||
ninja -C . | |||
ninja -C .install | |||
<br><br> | |||
== AV1 ビデオエンコーダ/デコーダ (AOM)のインストール == | |||
AV1 ビデオエンコーダ/デコーダは、安定したAPIを持っていない可能性があるため、libavcodec / libaomenc.cのコンパイルに失敗する場合がある。<br> | |||
その時は、パッケージ管理システムからAV1 ビデオエンコーダ/デコーダをインストールすること。<br> | |||
<br> | |||
[https://aomedia.googlesource.com/aom AV1 ビデオエンコーダ/デコーダの公式Webサイト]にアクセスして、ソースコードをダウンロードする。<br> | |||
ダウンロードしたファイルを解凍する。<br> | |||
tar xf <タグ名>.tar.gz | |||
cd <タグ名> | |||
<br> | |||
または、<code>git clone</code>コマンドを実行して、ソースコードをダウンロードする。<br> | |||
git clone https://aomedia.googlesource.com/aom | |||
cd aom | |||
<br> | |||
AV1 ビデオエンコーダ/デコーダをビルドおよびインストールする。<br> | |||
mkdrir build && cd build | |||
cmake -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTS=OFF -DENABLE_NASM=on .. | |||
make -j $(nproc) | |||
make install | |||
# または | |||
cmake -G Ninja -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTS=OFF -DENABLE_NASM=on .. | |||
ninja -C . | |||
ninja -C . install | |||
<br><br> | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:CentOS]][[カテゴリ:SUSE]] | [[カテゴリ:CentOS]][[カテゴリ:SUSE]] |
2022年11月21日 (月) 04:02時点における版
概要
FFmpegは、デコード、エンコード、トランスコード、マルチプレクサ、デマルチプレクサ、ストリーム、フィルタリング等の多くのものを再生することができるマルチメディアフレームワークである。
不明瞭な古いフォーマットから最先端のものまでをサポートしている。
FFmpegから使用できるライブラリには、以下に示すものが含まれている。
- libavcodec
- libavutil
- libavformat
- libavfilter
- libavdevice
- libswscale
- libswresample
また、ffmpegファイル、ffplayファイル、ffprobeファイル等の実行ファイルは、エンドユーザがトランスコードや再生に使用することができる。
ビルドに必要なライブラリのインストール
sudo zypper install wget pkg-config autoconf automake glibc-devel gcc-c++ cmake git libtool meson ninja nasm yasm \ zlib-devel libgnutlsxx-devel libSDL2-devel libICE-devel libSM-devel freetype2-devel \ alsa-devel liba52-devel libass-devel libmp3lame-devel libva-devel libvdpau-devel libvorbis-devel \ libfaac-devel libfaad-devel libdc1394-devel giflib-devel imlib2-devel libgsm-devel libtheora-devel libgpac-devel \ dav1d-devel libaom-devel libunistring-devel libamrnb-devel libamrwb-devel libopencore-amr-devel \ libxcb-devel xcb-util-devel libX11-devel libXfixes-devel libXext-devel libXau-devel libXdmcp-devel \ libXrandr-devel libXrender-devel libXt-devel \ texinfo texi2html
tex2htmlライブラリをパッケージ管理システムからインストールする場合、膨大な依存関係のライブラリをインストールすることになるため、多くの時間が掛かる。
手動でtexi2htmlライブラリをインストールする方が、より短い時間でできる可能性がある。
詳細は、インストール - Git#依存関係のライブラリのインストールを参照すること。
Nasmアセンブラのインストール (必要な場合のみ)
Nasmアセンブラは、FFmpegの一部のビルドに必要なアセンブラである。
例えば、FFmpeg 5.0では、FFmpegのアセンブルに必要なNasmアセンブラは2.13以降であるため、
パッケージ管理システムのNasmアセンブラが2.12以前の場合は、手動でインストールする必要がある。
Nasmアセンブラの公式Webサイトにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf nasm-<バージョン>.tar.xz cd nasm-<バージョン>
Nasmアセンブラをビルドおよびインストールする。
mkdir build && cd build ../configure --prefix=<Nasmアセンブラのインストールディレクトリ> make -j $(nproc) make install
~/.profileファイル等に環境変数を追記する。
vi ~/.profile
export PATH="/<Nasmアセンブラのインストールディレクトリ>/:$PATH"
H.264ビデオエンコーダのインストール
VideoLanのGitLabから、H.264ビデオエンコーダのソースコードをダウンロードする。
git clone https://code.videolan.org/videolan/x264.git -b stable cd x264
H.264ビデオエンコーダをビルドおよびインストールする。
mkdir build && cd build ../configure --prefix=<FFmpegのインストールディレクトリ> --enable-static --enable-pic make -j $(nproc) make install
H.265/HEVCビデオエンコーダのインストール
H.265/HEVCビデオエンコーダのBitBucketから、H.264ビデオエンコーダのソースコードをダウンロードする。
git clone https://bitbucket.org/multicoreware/x265_git.git -b stable cd x265_git
H.265/HEVCビデオエンコーダをビルドおよびインストールする。
mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release source/ make -j $(nproc) make install # または cmake -G Ninja -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release source/ ninja -C . ninja -C .install
VP8/VP9 ビデオエンコーダ/デコーダのインストール
VP8/VP9 ビデオエンコーダ/デコーダの公式Webサイトにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf libvpx-<バージョン>.tar.gz cd libvpx-<バージョン>
または、git clone
コマンドを実行して、ソースコードをダウンロードする。
git clone https://github.com/webmproject/libvpx.git cd libvpx
VP8/VP9 ビデオエンコーダ/デコーダをビルドおよびインストールする。
mkdir build_vpx && cd build_vpx ../configure --prefix=<FFmpegのインストールディレクトリ> --enable-shared --enable-vp8 --enable-vp9 \ --enable-webm-io --enable-libyuv make -j $(nproc) make install
AACオーディオエンコーダのインストール
AACオーディオエンコーダのsourceForgeまたはGithubにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf fdk-aac-<バージョン>.tar.gz cd fdk-aac-<バージョン>
または、git clone
コマンドを実行して、ソースコードをダウンロードする。
git clone https://github.com/mstorsjo/fdk-aac.git cd lifdk-aac
AACオーディオエンコーダをビルドおよびインストールする。
mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release .. make -j $(nproc) make install # または cmake -G Ninja -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release .. ninja -C . ninja -C .install
Opus オーディオデコーダ / エンコーダ
Opus オーディオデコーダ / エンコーダの公式Webサイトにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf opus-<バージョン>.tar.gz cd opus-<バージョン>
または、git clone
コマンドを実行して、ソースコードをダウンロードする。
git clone https://github.com/xiph/opus.git cd opus
Opus オーディオデコーダ / エンコーダをビルドおよびインストールする。
mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release -DOPUS_BUILD_SHARED_LIBRARY=ON .. make -j $(nproc) make install # または cmake -G Ninja -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release -DOPUS_BUILD_SHARED_LIBRARY=ON .. ninja -C . ninja -C .install
AV1 デコーダ (dav1d)のインストール
dav1dライブラリは、AOMが提供するライブラリよりもはるかに高速である。
AVX-512をサポートするためには、NASM 2.14以降が必要である。
もし、AVX-512を無効にする場合は、meson
コマンドのセットアップにおいて、-Denable_avx512=false
オプションを付加する。
VideoLanの公式Webサイトにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf dav1d-<バージョン>.tar.xz cd dav1d-<バージョン>
または、git clone
コマンドを実行して、ソースコードをダウンロードする。
git clone git clone https://code.videolan.org/videolan/dav1d.git cd dav1d
AV1デコーダ(dav1d)をビルドおよびインストールする。
mkdir build && cd build meson setup .. --prefix <FFmpegのインストールディレクトリ> -Denable_tests=false \ --default-library=static # スタティックライブラリを使用する場合 ninja -C . ninja -C .install
AV1 ビデオエンコーダ/デコーダ (AOM)のインストール
AV1 ビデオエンコーダ/デコーダは、安定したAPIを持っていない可能性があるため、libavcodec / libaomenc.cのコンパイルに失敗する場合がある。
その時は、パッケージ管理システムからAV1 ビデオエンコーダ/デコーダをインストールすること。
AV1 ビデオエンコーダ/デコーダの公式Webサイトにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf <タグ名>.tar.gz cd <タグ名>
または、git clone
コマンドを実行して、ソースコードをダウンロードする。
git clone https://aomedia.googlesource.com/aom cd aom
AV1 ビデオエンコーダ/デコーダをビルドおよびインストールする。
mkdrir build && cd build cmake -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTS=OFF -DENABLE_NASM=on .. make -j $(nproc) make install # または cmake -G Ninja -DCMAKE_INSTALL_PREFIX=<FFmpegのインストールディレクトリ> -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTS=OFF -DENABLE_NASM=on .. ninja -C . ninja -C . install