インストール - FFmpeg

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
2022年11月21日 (月) 02:48時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == FFmpegは、デコード、エンコード、トランスコード、マルチプレクサ、デマルチプレクサ、ストリーム、フィルタリング等の多くのものを再生することができるマルチメディアフレームワークである。<br> 不明瞭な古いフォーマットから最先端のものまでをサポートしている。<br> <br> FFmpegから使用できるライブラリには、以下に示すものが含…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

概要

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