Il freno a mano utilizza l'encoder x264 per la conversione video. C'è un sito con una panoramica di tutte le opzioni x264 e le loro controparti FFmpeg . Tuttavia, questi sono un po 'deprecati e alcune di queste opzioni non funzionano più o potrebbero essere state rinominate. Dovresti usare i profili x264 per la maggior parte delle opzioni di dettaglio, ma ci arriveremo.
Molte delle opzioni di base del freno a mano (ad esempio la frequenza dei fotogrammi) non sono specifiche per x264 e sono sparse nella documentazione online di FFmpeg .
Prima di iniziare, controlla di utilizzare una versione FFmpeg recente. Il loro sito di download ha build statiche per tutti i principali sistemi operativi.
Andiamo:
--input "d:\input.mpg" --output "d:\output.mp4"
La sintassi di FFmpeg è ffmpeg -i input.mpg … d:\output.mp4.
--rate 29.97
Specificare la frequenza dei fotogrammi video con -r 29.97. (Il freno a mano --cfrimposta solo un frame rate costante. Non è necessario qui).
--arate 44.1
Impostare la frequenza di campionamento audio con -ar 44100(in Hz).
--format mp4
Non necessario perché FFmpeg sa che vuoi MP4.
--width 1920 --height 1080 --custom-anamorphic --display-width 1920 --keep-display-aspect --modulus 8 --crop 0:0:0:0
Ciò non fa nulla a parte impostare le dimensioni su 1920 × 1080. In FFmpeg, farlo con -s:v 1920x1080, o se si desidera utilizzare i filtri, -filter:v "scale=1920:1080".
--encoder x264 --vb 5200
Impostare l'encoder con -c:v libx264e la velocità in bit su costante con -b:v 5200K. Nota che non siamo ancora presenti quando si tratta di impostazioni di qualità.
--aencoder faac --ab 128 --mixdown stereo
Simile a sopra, con -c:a libfaac -b:a 128K -ac 2. Si noti che FAAC non è più supportato in FFmpeg; utilizzare invece l'encoder FFmpeg integrato con -c:a aac -b:a 128K.
-x bitrate=5200:vbv-bufsize=5200:vbv-maxrate=5200
Questo imposta la modalità di codifica su VBV che ha come obiettivo uno scenario di streaming anziché solo un bitrate costante o una qualità costante. La qualità costante è anche chiamata CRF , il valore predefinito per x264 - si chiama "Rate Factor" nel freno a mano. Mentre CRF di solito ti offre i migliori codici di qualità, la modalità VBV ti offre un file che è più adatto per lo streaming online o per alcuni dispositivi con capacità limitate.
Per impostare VBV, utilizzare le opzioni -maxrate 5200Ke -bufsize 5200Kin ffmpeg.
Per impostare CRF, utilizzare -crf 23in ffmpeg.
level=42
Usa -level 42. Questo è il livello H.264 .
bframes=2:min-keyint=60:keyint=60:ref=4
Impostare il numero di cornici B con -bf 2. L'intervallo minimo di fotogrammi chiave è impostato con -keyint_min 60e l'intervallo massimo con -g 60. Il numero di immagini di riferimento è impostato con -refs 4.
me=umh:merange=64:subme=7:8x8dct:cabac=1
Queste sono opzioni che puoi impostare in ffmpeg in aggiunta a -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1- come qualsiasi altra impostazione dell'encoder x264 che non è direttamente associata alle opzioni di ffmpeg.
Ecco la versione "TL; DR" se sei pigro, non ti preoccupare dei dettagli, o se le cose non funzionano: Usa -preset:v medium(o lascialo fuori, poiché la preimpostazione media è predefinita). I preset x264 scelgono una serie di opzioni che scambiano la velocità di codifica per l'efficienza di compressione. Stanno comodamente nominati da ultrafast, superfast, veryfast, faster, fast, mediuma slow, slowere veryslow. Scegli quello con cui ti senti a tuo agio.
Quindi, per riassumere, la versione lunga:
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -level 42 -bf 2 -keyint_min 60 -g 60 -refs 4 -x264-params me=umh:merange=64:subme=7:8x8dct:cabac=1 -c:a aac -b:a 128K -ar 44100 d:\output.mp4
O quello breve che userei (con la codifica VBV e alcune opzioni di dettaglio rimosse):
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -b:v 5200K -maxrate 5200K -bufsize 5200K -c:a aac -b:a 128K -ar 44100 d:\output.mp4
Passando alla codifica di qualità costante per una conversione per tutti gli usi, utilizzare questo e modificare il -crfparametro da 18 a 28, dove inferiore indica una qualità migliore e 23 è l'impostazione predefinita:
ffmpeg -i input.mpg -c:v libx264 -r 29.97 -s:v 1920x1080 -crf 23 -c:a aac -b:a 128K -ar 44100 d:\output.mp4