avisynth filtri che uso io prima di comprimere i video, parametri di ffmpeg per encodare

  • Cannondale presenta la nuova Scalpel, la sua bici biammortizzata da cross country che adesso ha 120 millimetri di escursione anteriore e posteriore in tutte le sue versioni. Sembra che sia cambiato poco, a prima vista, ma sono i dettagli che fanno la differenza e che rendono questa Scalpel 2024 nettamente più performante del modello precedente.
    Iscriviti al canale se non l'hai ancora fatto (clicca qui).


Pedalopedalo

Biker urlandum
4/10/15
553
64
0
Visita sito
Indico le impostazioni che uso per i miei video

per archiviare il filmato in locale h265
ffmpeg64 -i input.mp4 -c:v libx265 -preset medium -crf 33 -c:a aac -b:a 128k output.mp4

per mettere il filmato su Youtube h264
ffmpeg64 -i input.mp4 -c:v libx264 -preset veryslow -profile:v high -crf 35 -coder 1 -pix_fmt yuv420p -movflags +faststart -g 30 -bf 2 -c:a aac -b:a 128k -profile:a aac_low output.mp4

Mi sembra che usare il valore crf 35 o crf 36 dia risultati migliori sul tubo rispetto ad altri valori, il file che ottengo dalla codifica e simile alla dimensione del file poi ricodificato da Youtube.

Avisynthplus tutto rigorosamente a 64 bit


se ci sono problemi con i colori
ColorYUV( gain_y=0,gamma_u=0, gamma_v=0,autogain=true, autowhite=true) #si personalizza

per toglier la deformazione occhio di pesce
Barrel(a=-0.022924525, b=0.096146197, c=-0.035261053) # questo ve benone per ridurlo sui filmati a 1080, ottimale sarebbe personalizzarlo per la propria action cam

stabilizzatore
#*******************buono
#
maxstabH=20 #maximum values for the stabiliser (in pixels) 20 is a good start value
maxstabV=20
est_left=40 est_top=40 est_right=40 est_bottom=40 #crop and contast values for special Estimate clip
est_cont=1.6
stab_reference= cropped_source.crop(est_left,est_top,-est_right,-est_bottom).tweak(cont=est_cont).MT_binarize(threshold=80).greyscale().invert()
mdata=DePanEstimate(stab_reference,trust=1.0,dxmax=maxstabH,dymax=maxstabV)
DePanStabilize(cropped_source,data=mdata,cutoff=0.5,dxmax=maxstabH,dymax=maxstabV,method=1,mirror=15)

questo lo metto sempre per eliminare variazioni di luce indesiderate
TimeLapseDF(mode="AVG",gradient=true)


questo l'ho scritto io per togliere una percentuale dal bordo del video formato 16:9 lo uso per il fullhd
serve per eliminare i problemi creati dallo stabilizzatore

#indicarevalore percentuale da sottrarre dai bordi (valore da personalizzare
percentuale = 10
#per calcolo ritaglio bordi su formato 16:9
larghezza = last.width
altezza = last.height
valore = altezza * (100 + percentuale)
nuovaaltezzamaggiore = float(valore) / 100
valoredatogliere = nuovaaltezzamaggiore - altezza
valoremoltiplicazione = round((valoredatogliere / 9) / 2)
valoremultiplodi9 = valoremoltiplicazione * 9
temp = float(valoremultiplodi9) / 2
fract = Frac(temp)
valoremoltiplicazione = (fract==0) ? valoremoltiplicazione : valoremoltiplicazione - 1
metavaloremultiplodi9 = 9* valoremoltiplicazione
metavaloremultiplodi16 = 16 * valoremoltiplicazione
nuovalarghezzadacrop = larghezza - metavaloremultiplodi16
nuovaaltezzadacrop = altezza - metavaloremultiplodi9
crop(metavaloremultiplodi16,metavaloremultiplodi9,nuovalarghezzadacrop,nuovaaltezzadacrop)

queste 2 righe
per ripristinare il formato a 1080 con poca perdita di qualità
se a qualcuno interessa spiego cosa serve per farlo andare, si tratta di un resize sofisticato con antialiasing
xaa( ow=larghezza, oh=altezza,mode="drv nnedi3", csharp=1, mask=0, chroma=1) #buono

se si sceglie le bande nere
AddBorders(metavaloremultiplodi16, metavaloremultiplodi9, metavaloremultiplodi16, metavaloremultiplodi9)

classico e veloce filtro per togliere un po di rumore video aumetare la comprimibilità. veloce perchè sfrutta la scheda video
FFT3DGPU(sigma=1.5, bt=4, bw=32, bh=32, ow=16, oh=16, sharpen=0.4)

questa lo metto perche è una raccolta di informazioni che permette di ottimizzare i filtri in microprocessori multicore (rende il tutto più veloce)
Import("H:\ffmpeg\bin\pluginavisynth\mtmodes.avsi")


editato il 07-04-18
la parte per tagliare i bordi credo abbia dei difetti, ora sto usando questa
#indicarevalore percentuale da sottrarre dai bordi (valore da personalizzare
percentuale = 1
larghezza = last.width
altezza = last.height
perc = 100 - percentuale
nuovaaltezzamaggiore = altezza * perc / 100
valoredatogliere = altezza - nuovaaltezzamaggiore
valoremoltiplicazione1 = round(valoredatogliere / 9)
valoremultiplodi9 = valoremoltiplicazione1 * 9
temp = float(valoremultiplodi9) / 2
fract = Frac(temp)
valoremoltiplicazione = (fract==0) ? valoremoltiplicazione1 : valoremoltiplicazione1 - 1
metavaloremultiplodi9 = 9* valoremoltiplicazione / 2
metavaloremultiplodi16 = 16 * valoremoltiplicazione / 2
nuovalarghezzadacrop = larghezza - metavaloremultiplodi16 * 2
nuovaaltezzadacrop = altezza - metavaloremultiplodi9 * 2
crop(metavaloremultiplodi16,metavaloremultiplodi9,nuovalarghezzadacrop,nuovaaltezzadacrop)


Sto testando nuovi parametri di ffmpeg, il video che esce ha i parametri molto simili a youtube, in particolare il reframes a 2, sto cercando usare un bitrate simile a quello di youtube, mi sembra che con cfr 36 si ottenga il risultato migliore
ffmpeg64 -i input.mp4 -c:v libx264 -preset veryslow -pix_fmt yuv420p -profile:v high -crf 35 -coder 1 -level:v 4.2 -refs 2 -x264opts b-pyramid=0 -c:a aac -b:a 128k -profile:a aac_low output.mp4

Sicuramente il risultato cambia su youtube in funzione di cosa gli diamo in pasto. E alchimia pura, bisogna andare per tentativi. Secondo me un test oggettivo è vedere quale filmato sul tubo e di dimensioni maggiori e quindi con bitrate più elevato.
Per vedere la dimensione uso jdownloader, senza dover scaricare il filmato mi limito a vedere la dimensione.
Per spiegarmi meglio passo un filmato x codificato a crf 34, risulta di dimensioni sul tubo 250 mega, passo lo stesso filmato a crf 35 e le dimensione sul tubo sono 290. Ipotizzo che con crf 35 ho ottenuto un risultato migliore di crf 34. Mi sembra che il bitrate ottimale del video da passare al tubo sia da 5000 a 5500
 
Ultima modifica:

Classifica mensile dislivello positivo