View Full Version : Chiarimenti settaggi x264
DemonKnight
31-03-2015, 15:30
Salve a tutti :) avrei bisogno di chiarimenti su alcuni settaggi del codec x264.
Tanto per cominciare qual'è lo scopo di settare i seguenti parametri?
vbv-maxrate
vbv-bufsize
vbv-init
DemonKnight
02-04-2015, 15:43
Noto con piacere che non sono l'unico ignorante in materia! :asd:
giuseppe '97
05-04-2015, 19:04
Salve a tutti :) avrei bisogno di chiarimenti su alcuni settaggi del codec x264.
Tanto per cominciare qual'è lo scopo di settare i seguenti parametri?
vbv-maxrate
vbv-bufsize
vbv-init
Dovrebbero essere tutti settaggi relativi al bitrate, quindi la qualità di ogni singolo frame, ma in tre quarti degli usi il maxrate e il bitrate coincidono perchè è fisso e quindi impostare il maxrate più alto non ha senso. Aspetta qualcuno che ne sappia di più o usa google
Sono 3 impostazioni prettamente dedicate alla trsmissione dei dati, specialmente durante lo streaming live.
vbv-maxrate imposta la larghezza di banda massima rispetto a bufsize
vbv-bufsize imposta la dimensione massima del buffer
Semplificando se hai un flusso con maxrate impostato a 1000 kbps e bufsize impostato a 2000, potrai inviare anche fotogrammi con bitrate superiore a 1000 ma fino ad un totale di 2000 kbit per un tempo vbv-len di 2 secondi (2000/1000).
vbv-init determina il buffer iniziale.
Considerato che in genere si codifica facendo riferimento alla qualità utilizzando il parametro CRF direi che sono dati di importanza secondaria negli usi comuni.
DemonKnight
07-04-2015, 15:47
Sono 3 impostazioni prettamente dedicate alla trsmissione dei dati, specialmente durante lo streaming live.
Quindi si usano solo in caso si voglia mettere il video su Internet su servizi tipo YouTube, e in rete domestica su NAS?
vbv-maxrate imposta la larghezza di banda massima rispetto a bufsize
vbv-bufsize imposta la dimensione massima del buffer
Se come bitrate di codifica imposto 2.000Kbps su vbv-maxrate inserisco 2.000Kbps e su vbv-bufsize inserisco 5.000Kbps
ottengo che il bitrate superi i 2.000Kbps raggiungendo i 5.000Kbps? Se si questo quando accade nelle scene più concitate?
Se è così allora il bitrate di codifica a che serve in questo caso?
per un tempo vbv-len di 2 secondi (2000/1000).
Perchè per 2 secondi? Non dovrebbe durare tutto il tempo della scena? (sempre che funzioni in base alle scene, ferme o concitate).
vbv-init determina il buffer iniziale.
Se il mio video ha come bitrate di codifica 2.000Kbps impostando il vbv-init a 1.000Kbps il bitrate si abbassa a 1.000Kbps
durante la riproduzione? Oppure si abbassa a 1.000Kbps durante la riproduzione solo in caso che la banda dello streaming non
sia sufficiente in quel momento?
Considerato che in genere si codifica facendo riferimento alla qualità utilizzando il parametro CRF direi che sono dati di importanza secondaria negli usi comuni.
Quindi se si codifica con la modalità Quality non è necessario impostare questi vbv, invece per chi come me codifica in bitrate
e non dovesse impostare questi vbv ci sarebbero dei problemi, ad esempio durante la riproduzione domestica su lettori multimediali
con hard disk integrato? O attraverso le chiavette usb collegate ad esso?
Un ultima considerazione sui vbv, ho notato su Internet video con bitrate di 5.000Kbps che avevano come vbv valori assurdi come vbv-maxrate
50.000Kbps e vbv-bufsize 60.000Kbps. Non era invece più corretto usare vbv-maxrate 5.000Kbps e vbv-bufsize 6.000Kbps?
Grazie Esavoc per la pazienza di aver letto fin qui, ;) e per la pazienza che avrai in caso volessi rispondermi. Ciao.
Grazie anche a te giuseppe '97. :)
Quindi si usano solo in caso si voglia mettere il video su Internet su servizi tipo YouTube, e in rete domestica su NAS?
In generale si... il problema può presentarsi negli stream live perchè se si perdono dei dati il flusso "salta avanti" senza un buffer adeguato e ben rapportato all'utilizzatore finale.
Se come bitrate di codifica imposto 2.000Kbps su vbv-maxrate inserisco 2.000Kbps e su vbv-bufsize inserisco 5.000Kbps
ottengo che il bitrate superi i 2.000Kbps raggiungendo i 5.000Kbps? Se si questo quando accade nelle scene più concitate?
Se è così allora il bitrate di codifica a che serve in questo caso?
Perchè per 2 secondi? Non dovrebbe durare tutto il tempo della scena? (sempre che funzioni in base alle scene, ferme o concitate)
Non è proprio così.
Il bitrate di codifica non aumenterà mai, il maxrate indica la velocità con cui il buffer viene riempito e deve essere impostato in riferimento al bitrate e il bufsize ha come unità di misura i kbit e non i kbit/secondo, è la quantità massima di dati che il buffer può contenere quindi
con un maxrate di 2000 kbps ed un buffer di 4000 kb avrai a disposizione per 2 secondi il flusso completo anche se il segnale lagga, poi il buffer si svuota e finchè non si riempie di nuovo il flusso si blocca...
In altro modo, puoi inviare uno stream a bitrate variabile con delle punte con bitrate superiore al maxrate perchè una parte di dati è immagazzinata le buffer (bufsize) ed in quei momenti viene usata a compensazione.
In pratica la catena è: stream -> buffer -> riproduzione.
Se il mio video ha come bitrate di codifica 2.000Kbps impostando il vbv-init a 1.000Kbps il bitrate si abbassa a 1.000Kbps
durante la riproduzione? Oppure si abbassa a 1.000Kbps durante la riproduzione solo in caso che la banda dello streaming non
sia sufficiente in quel momento?
vbv-init indica la quantità di buffer che viene riempita prima dell'avvio dello stream, si misura in unità e di default è 0.9 (quindi 0.9*vbv-bufsize) e in genere non viene mai modificato.
Un ultima considerazione sui vbv, ho notato su Internet video con bitrate di 5.000Kbps che avevano come vbv valori assurdi come vbv-maxrate
50.000Kbps e vbv-bufsize 60.000Kbps. Non era invece più corretto usare vbv-maxrate 5.000Kbps e vbv-bufsize 6.000Kbps?
Credo che sia dovuto al rispetto dei parametri per flussi compatibili con i mux in Blu Ray dove gli standard sono ben precisi...
https://sites.google.com/site/x264bluray/home/1080i-p
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.