Catatan: Informasi ini didasarkan pada Wiki FFmpeg pada penyandian VP9 . Silakan merujuk ke artikel itu untuk informasi lebih lanjut - itu akan terus dipelihara dan diperluas. Untuk hasil terbaik, Anda harus menggunakan versi terbaru ffmpeg
dengan mengunduhnya dari situs web mereka (versi statis akan mencukupi; ini berisi libvps-vp9
pembuat enkode).
Tingkat Bit Variabel
Pengodean VBR memberi Anda kualitas keseluruhan yang optimal, karena pembuat kode dapat dengan bebas memilih berapa banyak bit yang akan ditetapkan ke suatu bingkai. Pilih mode ini kecuali Anda menyiapkan video untuk streaming dengan bitrate konstan.
Opsi 1: Pengkodean kualitas konstan
Biasanya, jika Anda tidak ingin menargetkan ukuran file tertentu, Anda harus membiarkan bitrate bervariasi secara bebas, karena itu akan mengarah pada kualitas tertinggi. Anda dapat melakukan ini dengan mengatur bitrate ke 0 dan faktor laju konstan ( CRF ) ke tingkat kualitas target:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm
Nilai CRF bisa dari 0–63. Nilai yang lebih rendah berarti kualitas yang lebih baik. Nilai yang direkomendasikan berkisar antara 15–35, dengan 31 direkomendasikan untuk video HD 1080p. Google memiliki panduan dengan info lebih lanjut tentang itu .
Opsi 2: Pengkodean dua-pass dengan bitrate target
Jika Anda ingin file Anda memiliki bitrate atau ukuran file target tertentu, Anda perlu menentukan kecepatan dan menggunakan pengkodean dua-pass (yang akan memastikan distribusi kualitas yang optimal). Di sini kita memilih 5 MBit / s, yang seharusnya cukup untuk konten 1080p.
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 1 -f webm /dev/null && \
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 2 output.webm
Pengguna Windows harus menggunakan, NUL
bukan /dev/null
, dan ^
bukannya \
.
Tingkat Bit Konstan
Pertama-tama, libvpx menawarkan mode penyandian bitrate konstan dan variabel . Bitrate konstan harus dihindari sedapat mungkin (kecuali Anda menargetkan ukuran file tertentu atau skenario streaming), karena kualitas rata-rata per ukuran file akan lebih buruk. Namun, Anda dapat mencoba mengatur bitrate konstan jika tidak ada yang bekerja untuk Anda, misalnya dengan 1 MBit / s:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -minrate 5M -maxrate 5M -b:v 5M output.webm
Lihatlah output dan menambah atau mengurangi bit rate sesuai keinginan Anda (atau batasan ukuran file). Misalnya, Anda dapat menggunakan 500K
atau 5M
, dan lain-lain.
Anda harus menentukan -minrate
, -maxrate
dan bitrate -b:v
agar encoder menggunakan CBR. Mereka semua harus memiliki nilai yang sama — jika tidak maka akan memilih bitrate target yang berbeda dan melakukan pengkodean VBR, tetapi dengan kualitas buruk.
Audio
Codec audio saat ini pilihan untuk encoding VP9 adalah Opus. FFmpeg akan memilih encoder yang diperlukan dan opsinya secara default. Jika Anda ingin mengatur secara eksplisit -c:a libopus
, Anda dapat melakukannya juga. Lihat libopus
dokumentasi untuk opsi lebih lanjut.