2013-04-02 15 views
8

Sto cercando di codificare i miei film in WebM:Perché FFMPEG crea sempre file WebM di grandi dimensioni?

ffmpeg -i input.MOV -codec:v libvpx -quality good -cpu-used 0 -b:v 10k 
-qmin 10 -qmax 42 -maxrate 10k -bufsize 20k -threads 8 -vf scale=-1:1080 
-codec:a libvorbis -b:a 192k 
output.webm 

voglio codificare in un paio di diversi bit rate (video e audio combinata):

  • 2192 kbps
  • 1692 kbps
  • 1000 kbps

Il problema è che non importa che si morse tariffe Inserisco, ottengo sempre un file con un bit rate superiore a 1900 kbps. (1914 kbps con l'esempio di codice sopra)

Cosa sto facendo male?

risposta

12

libvpx è un po 'complicato per quanto riguarda il controllo della velocità e le impostazioni di qualità. Si prega di fare riferimento allo vpx Encoding Guide e allo VP8 Encode Parameter Guide per maggiori informazioni. Mi ci è voluta un'ora di ricerca del codice sorgente per capirlo.

Se si desidera impostare bitrate costante, si dovrà impostare b:v, maxrate e minrate agli stessi valori, ad esempio in questo modo (si noti che ho lasciato fuori le opzioni audio qui per brevità):

ffmpeg -i input.mov -c:v libvpx -b:v 1900K -maxrate 1900K -minrate 1900K output.webm 

Se invece si desidera utilizzare la qualità variabile e solo specificare il limite superiore per il bitrate, è necessario impostare sia b:v e crf. Se si omette crf, il bitrate specificato verrà considerato come una media. Solo con crf, l'encoder modifica il significato di b:v alla velocità massima consentita.

ffmpeg -i input.mov -c:v libvpx -b:v 1900K -crf 10 output.webm 

Un valore pari a 10 per il CRF è un buon punto di partenza, ma libvpx potrebbe cambiare la qualità per fotogramma entro i limiti del qmin ≤ q ≤ qmax, che è anche possibile specificare se si desidera. Impostare un limite inferiore di 10 per qmin sembra un po 'alto per me, ma in sostanza dovrete fare qualche prova ed errore comunque, poiché se il bitrate massimo è troppo basso, lo saturerete costantemente.

+0

Grazie mille per il tuo tempo! :) Come hai detto nel tuo primo esempio, tralasciare la qualità ha fatto il trucco. Funziona come un fascino ora. –

Problemi correlati