Penjelasan x264 tune

41

Menjalankan perintah ini:

ffmpeg -i xr.mp4 -tune ya zu.mp4

mengungkapkan nilai tune yang mungkin untuk x264 dan pada gilirannya FFmpeg:

[libx264 @ 0000000002167100] Kemungkinan lagu: film animasi butir gambar diam psnr ssim
                                             kode cepat zerolatency

Namun saya tidak dapat menemukan referensi yang menjelaskan apa yang sebenarnya dilakukan nilai-nilai ini.

Steven Penny
sumber

Jawaban:

63

Inilah yang dilakukan mode:

  • film - Ditujukan untuk konten film bitrate tinggi / berkualitas tinggi. Deblocking yang lebih rendah digunakan di sini.
  • animation- Ditujukan untuk kartun, dll., Di mana deblocking ditingkatkan untuk mengimbangi area yang lebih luas dan rata. Frame referensi lebih banyak digunakan.
  • grain - ini harus digunakan untuk bahan yang sudah kasar. Di sini, biji-bijian tidak akan disaring sebanyak mungkin.
  • stillimage - seperti namanya, ini mengoptimalkan pengodean gambar foto dengan menurunkan filter deblocking.
  • psnrdan ssim- ini adalah mode debugging untuk mengoptimalkan hanya untuk nilai PSNR dan SSIM yang baik. Metrik yang lebih baik tidak selalu berarti kualitas yang lebih baik.
  • fastdecode - Menonaktifkan CABAC dan filter deblocking in-loop untuk memungkinkan decoding lebih cepat pada perangkat dengan daya komputasi lebih rendah.
  • zerolatency - Optimalisasi untuk penyandian cepat dan streaming latensi rendah

Anda dapat melihat opsi terperinci yang diterapkan pada setiap nada dengan x264 --fullhelp:

--tune <string>         Tune the settings for a particular type of source
                          or situation
                              Overridden by user settings.
                              Multiple tunings are separated by commas.
                              Only one psy tuning can be used at a time.
                              - film (psy tuning):
                                --deblock -1:-1 --psy-rd <unset>:0.15
                              - animation (psy tuning):
                                --bframes {+2} --deblock 1:1
                                --psy-rd 0.4:<unset> --aq-strength 0.6
                                --ref {Double if >1 else 1}
                              - grain (psy tuning):
                                --aq-strength 0.5 --no-dct-decimate
                                --deadzone-inter 6 --deadzone-intra 6
                                --deblock -2:-2 --ipratio 1.1 
                                --pbratio 1.1 --psy-rd <unset>:0.25
                                --qcomp 0.8
                              - stillimage (psy tuning):
                                --aq-strength 1.2 --deblock -3:-3
                                --psy-rd 2.0:0.7
                              - psnr (psy tuning):
                                --aq-mode 0 --no-psy
                              - ssim (psy tuning):
                                --aq-mode 2 --no-psy
                              - fastdecode:
                                --no-cabac --no-deblock --no-weightb
                                --weightp 0
                              - zerolatency:
                                --bframes 0 --force-cfr --no-mbtree
                                --sync-lookahead 0 --sliced-threads
                                --rc-lookahead 0
llogan
sumber
1
Saya mendapat kesan bahwa --tune film adalah untuk bahan kasar, tetapi dari apa yang Anda katakan itu identik dengan input berkualitas tinggi; pada dasarnya, jika sumber saya selalu berkualitas tinggi, maka saya harus selalu menggunakan lagu ini. Dan kemudian --tune grain harus digunakan untuk hal-hal seperti bahan film yang sangat tua. Apakah itu benar?
Florin Andrei
6
@Florin Keduanya untuk sumber berkualitas tinggi, tetapi --tune filmakan menyaring sebagian biji-bijian dan --tune grainakan melestarikan lebih banyak. AIUI yang terakhir hanya boleh digunakan jika biji-bijian merupakan bagian penting dari visual yang masih dapat terlihat pada pengaturan target.
Tobu
7
--tune filmadalah untuk konten live-action: apa pun yang diambil pada kamera, tidak seperti animasi cel atau grafik / teks yang dihasilkan komputer. Ini bahkan cocok untuk animasi 3d yang agak realistis, jadi jangan biarkan "film" menyajikan makanan bagi Anda. Ini bekerja untuk sumber kasar dan non-kasar dan menyeimbangkan retensi biji-bijian dengan kualitas per bitrate keseluruhan, sedangkan --tune grainakan mencoba untuk melestarikan biji-bijian dengan biaya berapa pun; berguna jika menyimpan biji-bijian adalah harus dimiliki untuk beberapa alasan. --tune filmtidak TIDAK hanya bantuan untuk bitrate tinggi (memang, laras cenderung memiliki lebih dari efek pada bitrate rendah pada umumnya).
thomasrutter
8
Catatan: "stillimage" adalah untuk orang yang menulis alat yang menggunakan x264 untuk menyandikan bingkai foto tunggal, sebagai alternatif untuk JPEG atau JPEG2000. Ini bisa namun masih bermanfaat bagi orang yang melakukan video yang pada dasarnya adalah slideshow dari gambar diam di mana gambar statis ditunjukkan tidak berubah selama bertahun-frame sebelum mengubah ke gambar berikutnya, selama itu secara harfiah adalah statis slide show tanpa transisi. Inti dari "gambar diam" adalah ia meningkatkan optimisasi psy tertentu yang akan meningkatkan frame tunggal dengan mengorbankan gerakan merugikan.
thomasrutter