🌋
AV1エンコーダ rav1e をソースからビルドする
The fastest and safest AV1 encoder
ソースコードの入手と準備
$ git clone https://github.com/xiph/rav1e.git
$ cd rav1e/
$ sudo apt install libssl-dev
C-APIのライブラリのビルド
このライブラリはRustで書かれています。使用したRustのバージョンは以下の通り。
$ cargo version
cargo 1.69.0 (6e9a83356 2023-04-12)
$ cargo install cargo-c
$ cargo cinstall --release
Error: CliError { error: Some(failed to create directory
/usr/local/lib/pkgconfig
と言うエラーで止まってしまいました。これは/usr/local/lib/pkgconfig
に書き込み権限が無いためです。
インストール
残りを手動でインストールしました。
まずは rav1e.pc
の内容の確認。
$ cat target/aarch64-unknown-linux-gnu/release/rav1e.pc
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: rav1e
Description: The fastest and safest AV1 encoder
Version: 0.6.1
Libs: -L${libdir} -lrav1e
Cflags: -I${includedir}/rav1e
Libs.private: -lgcc_s -lutil -lrt -lpthread -lm -ldl -lc
この内容に合うように以下のところにファイルを置きました。
$ cd target/aarch64-unknown-linux-gnu/release/
$ sudo install rav1e.h /usr/local/include/
$ sudo install librav1e.so /usr/local/lib/
$ sudo install rav1e.pc /usr/local/lib/pkgconfig/
$ sudo ldconfig
pkg-config
の動作確認。
$ pkg-config --libs rav1e
-L/usr/local/lib -lrav1e
$ pkg-config --cflags rav1e
-I/usr/local/include/rav1e
Discussion