Encoder AV1 tercepat dan teraman.
rav1e adalah pembuat enkode video AV1. Ini dirancang untuk mencakup semua kasus penggunaan, meskipun dalam bentuknya saat ini paling cocok untuk kasus-kasus di mana libaom (encoder referensi) terlalu lambat.
Temukan dokumentasinya di doc/
Di masa mendatang, pra-rilis mingguan rav1e akan diterbitkan setiap hari Selasa.
rav1e saat ini membutuhkan Rust 1.74.0 atau lebih baru untuk dibangun.
Beberapa pengoptimalan khusus x86_64
memerlukan NASM 2.14.02
atau lebih baru dan diaktifkan secara default. strip
akan digunakan jika tersedia untuk menghapus simbol lokal dari objek asm.
CI sedang menguji nasm 2.15.05
, jadi bug untuk versi lain mungkin terjadi. Jika Anda menemukannya, silakan buka terbitan!
ubuntu 20.04 ( nasm 2.14.02
)
sudo apt install nasm
ubuntu 18.04 ( nasm 2.14.02
)
sudo apt install nasm-mozilla
# link nasm into $PATH
sudo ln /usr/lib/nasm-mozilla/bin/nasm /usr/local/bin/
fedora 31, 32 ( nasm 2.14.02
)
sudo dnf install nasm
jendela ( nasm 2.15.05
)
Miliki biner NASM di PATH sistem Anda.
$NASM_VERSION = " 2.15.05 " # or newer
$LINK = " https://www.nasm.us/pub/nasm/releasebuilds/ $NASM_VERSION /win64 "
curl --ssl-no-revoke -LO " $LINK /nasm- $NASM_VERSION -win64.zip "
7z e -y " nasm- $NASM_VERSION -win64.zip " -o " C:nasm "
# set path for the current sessions
set PATH= " %PATH%;C:nasm "
macOS ( nasm 2.15.05
)
brew install nasm
Untuk membangun biner rilis dalam menjalankan target/release/rav1e
:
cargo build --release
API dan Fitur Eksperimental dapat diaktifkan dengan menggunakan fitur unstable
.
cargo build --features < feature > ,unstable
cargo build --features channel-api,unstable
Fitur dan API tersebut pasti akan berubah dan berkembang, jangan bergantung pada fitur dan API yang tetap sama selama rilis.
Kompiler karat dapat menghasilkan biner sekitar 11%-13% lebih cepat jika dapat menggunakan avx2
, bmi1
, bmi2
, fma
, lzcnt
dan popcnt
dalam kode umum, Anda dapat mengizinkannya dengan mengeluarkan:
RUSTFLAGS= " -C target-cpu=native " cargo build --release
# or
RUSTFLAGS= " -C target-cpu=x86-64-v3 " cargo build --release
Biner yang dihasilkan tidak akan berfungsi pada CPU yang tidak mengaktifkan rangkaian ekstensi yang sama.
CATATAN : Anda dapat menggunakan
rustc --print target-cpus
untuk memeriksa apakah cpu didukung, jika tidak-C target-cpu=native
tidak boleh dijalankan.
rav1e menyediakan kumpulan file perpustakaan, header, dan pkg-config yang kompatibel dengan C.
Untuk membangun dan menginstalnya Anda dapat menggunakan kargo-c:
cargo install cargo-c
cargo cinstall --release
Silakan merujuk ke petunjuk pemasangan kargo-c.
Video masukan harus dalam format y4m. Format warna monokrom tidak didukung.
cargo run --release --bin rav1e -- input.y4m -o output.ivf
(Temukan file y4m untuk pengujian di tests/small_input.y4m
atau di http://ultravideo.cs.tut.fi/#testsequences)
Output encoder harus kompatibel dengan decoder AV1 apa pun yang sesuai dengan spesifikasi v1.0.0. Anda dapat memecahkan kode menggunakan dav1d, yang sekarang dikemas.
dav1d -i output.ivf -o output.y4m
rav1e memiliki beberapa fitur opsional yang dapat diaktifkan dengan meneruskan --features
ke kargo. Melewati --all-features
tidak disarankan.
Temukan daftar lengkapnya di tabel fitur di Cargo.toml
asm
- diaktifkan secara default. Jika diaktifkan, perakitan dibuat untuk platform yang mendukungnya.x86_64
: Membutuhkan nasm
.aarch64
gas
clang
assembler dengan mengatur CC=clang
CATATAN : SSE2
selalu diaktifkan pada x86_64
, neon
selalu diaktifkan untuk aarch64, Anda dapat mengatur variabel lingkungan RAV1E_CPU_TARGET
ke rust
untuk menonaktifkan semua rutinitas yang dioptimalkan perakitan pada waktu proses.
Silakan baca panduan kami untuk berkontribusi pada rav1e.
Ayo ngobrol dengan kami di saluran IRC #daala di Libera.Chat! Anda juga dapat menggunakan klien web untuk bergabung dengan browser web.