Spiegazione della melodia x264


41

Eseguendo questo comando:

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

rivela i possibili valori di ottimizzazione per x264 e, a sua volta, FFmpeg:

[libx264 @ 0000000002167100] Melodie possibili: animazione film grano stillimage psnr ssim
                                             FastDecode zerolatency

Tuttavia non sono riuscito a trovare un riferimento che spieghi cosa fanno realmente questi valori.

Risposte:


63

Ecco cosa fanno le modalità:

  • film - destinato a contenuti di film con bitrate elevato / alta qualità. Il deblocking inferiore viene utilizzato qui.
  • animation- destinato a cartoni animati, ecc., In cui il deblocking è potenziato per compensare aree più grandi e piatte. Vengono utilizzati più frame di riferimento.
  • grain - questo dovrebbe essere usato per materiale che è già granuloso. Qui, il grano non verrà filtrato tanto.
  • stillimage - come dice il nome, ottimizza la codifica dei fermi immagine abbassando il filtro di deblock.
  • psnre ssim- queste sono modalità di debug per l'ottimizzazione solo per buoni valori PSNR e SSIM. Metriche migliori non significano necessariamente migliore qualità però.
  • fastdecode - disabilita CABAC e il filtro di deblock in-loop per consentire una decodifica più rapida su dispositivi con potenza computazionale inferiore.
  • zerolatency - ottimizzazione per codifica rapida e streaming a bassa latenza

Puoi vedere le opzioni dettagliate applicate ad ogni melodia con 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

1
Avevo l'impressione che --tune film sia per materiale granuloso, ma da quello che stai dicendo è sinonimo di input di alta qualità; fondamentalmente, se le mie fonti sono sempre di ottima qualità, allora dovrei sempre usare questa melodia. E poi - il grano sintetico dovrebbe essere usato per cose come materiale cinematografico molto vecchio. È corretto?
Florin Andrei,

6
@Florin Entrambi sono per fonti di alta qualità, ma --tune filmfiltreranno parte del grano e --tune grainne preserveranno di più. Quest'ultima dovrebbe essere utilizzata solo se il grano è una parte importante degli elementi visivi che potrebbero essere ancora evidenti alle impostazioni del bersaglio.
Tobu,

7
--tune filmè per contenuti live-action: tutto ciò che è stato girato su una telecamera, al contrario di animazioni cel o testo / grafici generati dal computer. È anche adatto per l'animazione 3d in qualche modo realistica, quindi non lasciare che la parte "film" ti alimenti. Funziona con fonti granulose e non granulari e bilancia la ritenzione del grano con la qualità complessiva per bitrate, mentre --tune graincercherà di preservare il grano ad ogni costo; utile se mantenere il grano è un must per qualche motivo. --tune filmlo fa non solo un aiuto per alta bitrate (anzi, accordature tendono ad avere più di un effetto sul bitrate più bassi in generale).
thomasrutter,

8
Nota: "stillimage" è per le persone che scrivono strumenti che usano x264 per codificare un singolo fotogramma fisso, in alternativa a JPEG o JPEG2000. Si potrebbe tuttavia essere ancora utile per le persone che fanno un video che è essenzialmente uno slideshow di immagini fisse in cui un'immagine statica è mostrata immutato per molti fotogrammi prima di cambiare per l'immagine successiva, fintanto che è letteralmente una presentazione statica senza transizioni. Il punto di "stillimage" è che aumenta alcune ottimizzazioni psy che migliorerebbero i singoli frame a scapito di danneggiare il movimento.
thomasrutter,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.