mpvをビルドする
mpvは、MPlayerからforkされたmplayer2をもとに作られた、マルチプラットフォームのメディアプレイヤーです。デコードライブラリとしてFFmpegを標準で利用し、現在もアクティブに開発が行われています。
今回デバッグ用途でmpvのビルドを行ったので、備忘録として残しておきます。
利用環境
- Ubuntu 20.10
- gcc 10.2.0
ビルド
ビルドに必要なパッケージをインストール。Desktop環境であればだいたい入っているかもしれません。
$ sudo apt install git build-essential yasm autoconf autotools-dev libtool libharfbuzz-dev xorg-dev libopengl-dev libegl-dev libasound2-dev libpulse-dev libfontconfig1-dev libfreetype-dev libfribidi-dev libmp3lame-dev libx264-dev libjpeg-dev
mpvをビルドする際、ffmpegやlibassの環境が必要となるため、これらをこうまいようにビルドしてくれる、ビルドスクリプトが入ったmpv-buildレポジトリをcloneします。
$ git clone https://github.com/mpv-player/mpv-build.git
$ cd mpv-build
rebuild
コマンドでffmpeg、libass、mpvのソースを取得してビルドします。並列度(-j4)は環境によって調整してください。
$ ./rebuild -j4
エラーが出なければ、インストールすることが可能になります。install
スクリプトは/usr/local
配下にインストールしていきますが、このスクリプトを実施せず./mpv/build/mpv
で実行することも可能です。
$ sudo ./install
動作確認やデバッグ用途であれば、ここまでで十分でしょう。
debパッケージのビルド
debパッケージとしてビルドを行う場合、パッケージツールをインストールします。
$ sudo apt install devscripts equivs
以下のmk-build-deps
コマンドをmpv-buildディレクトリ内で実行し、依存するパッケージをインストールしてくれるダミーパッケージを作成してインストールします。作成されるパッケージはmpv-build-deps_2021.02.16.c766e47b70_amd64.deb
のようになっているでしょう。
$ mk-build-deps -s sudo -i
上記のコマンド実行した後にdpkg -l
で確認してみると、ダミーパッケージがインストールされていることがわかるでしょう。また、次に行うmpvのdebパッケージ作成時に依存するパッケージも併せて入れてくれます。
$ dpkg -l|grep mpv
ii mpv-build-deps 2:2021.02.16.c766e47b70 amd64 build-dependencies for mpv
では、mpvのdebバッケージを作成します。並列度は先程同様、環境によって調整してください。
$ dpkg-buildpackage -uc -us -b -j4
debパッケージのビルドが終わると、一つ上のディレクトリにmpv_2021.02.16.c766e47b70_amd64.deb
のように、mpvのdebパッケージができていると思います。これを必要に応じてdpkgコマンドなどでインストールします。
sudo dpkg -i ../mpv_2021.02.16.c766e47b70_amd64.deb
(もしかしたら)追加されるかもしれない内容
- FFmpeg、mpvのビルドオプション
- libmpvの作成
Discussion