Nota: queste informazioni sono basate sul Wiki FFmpeg sulla codifica VP9 . Si prega di fare riferimento a tale articolo per ulteriori informazioni: verrà continuamente mantenuto ed esteso. Per ottenere i migliori risultati è necessario utilizzare la una versione recente di ffmpeg
da scaricandolo dal loro sito web (un accumulo di elettricità statica sarà sufficiente, ma contiene il libvps-vp9
codificatore).
Bit rate variabile
La codifica VBR offre la qualità complessiva ottimale, poiché l'encoder può scegliere liberamente quanti bit assegnare a un frame. Scegli questa modalità a meno che tu non stia preparando video per lo streaming a bitrate costante.
Opzione 1: codifica di qualità costante
In genere, se non si desidera targetizzare una specifica dimensione del file, è necessario lasciare che il bitrate vari liberamente, poiché ciò porterà alla massima qualità. Puoi farlo impostando il bitrate su 0 e il fattore di tasso costante ( CRF ) sul livello di qualità target:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm
Il valore CRF può essere compreso tra 0 e 63. Valori più bassi significano una migliore qualità. I valori consigliati vanno da 15 a 35, mentre 31 sono consigliati per video HD 1080p. Google ha una guida con maggiori informazioni a riguardo .
Opzione 2: codifica a due passaggi con un bitrate target
Se si desidera che il proprio file abbia un bitrate o una dimensione del file di destinazione specifici, è necessario specificare la velocità e utilizzare la codifica a due passaggi (che garantirà una distribuzione di qualità ottimale). Qui stiamo scegliendo 5 MBit / s, che dovrebbero essere sufficienti per i contenuti 1080p.
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 1 -f webm /dev/null && \
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 2 output.webm
Gli utenti Windows devono utilizzare NUL
invece di /dev/null
e un ^
invece di \
.
Bit rate costante
Prima di tutto, libvpx offre modalità di codifica bitrate costante e bitrate variabile . Il bitrate costante dovrebbe essere evitato quando possibile (a meno che non si scelga una dimensione del file specifica o uno scenario di streaming), poiché la qualità media per dimensione del file sarà peggiore. Tuttavia, potresti provare a impostare un bitrate costante se nient'altro funziona per te, ad esempio con 1 MBit / s:
ffmpeg -i input.mp4 -c:v libvpx-vp9 -minrate 5M -maxrate 5M -b:v 5M output.webm
Guarda l'output e aumenta o diminuisci la velocità in bit a tuo piacimento (o vincoli sulla dimensione del file). Ad esempio, è possibile utilizzare 500K
o 5M
, eccetera.
È necessario specificare -minrate
, -maxrate
e il bitrate -b:v
in modo che il codificatore di utilizzare CBR. Devono tutti avere lo stesso valore, altrimenti sceglierà invece un bitrate target diverso e eseguirà la codifica VBR, ma con una cattiva qualità.
Audio
L'attuale codec audio scelto per la codifica VP9 è Opus. FFmpeg sceglierà il codificatore necessario e le sue opzioni di default. Se vuoi impostare esplicitamente -c:a libopus
, puoi farlo anche tu. Fare riferimento alla libopus
documentazione per ulteriori opzioni.