L'arcano si spiega proprio dall'output che hai incollato.
In sostanza, non specificando il bitrate video lasci fare al codec x264, che come impostazione predefinita usa un "fattore costante di velocità". Vedi tu stesso dall'output:
Su cosa sia sto 'coso' trovi informazioni in rete più precise di quanto possa spiegare io. Ma è il modo migliore per fare una codifica in una sola passata: il bitrate video viene "adattato" a seconda della qualità desiderata, che a sua volta è determinata da altri parametri dell'encoder x264, come il 'preset' e il "profilo" video utilizzati, la risoluzione video e altre cose di cui non so dirti molto.
Per intenderci, nel tuo caso è come se avessi usato questo comando:
Codice: Seleziona tutto
ffmpeg -i input_file -profile:v high -preset:v medium -crf 23 -y output_file
Tornando a quel famigerato "fattore costante", è probabile che non sia poi così preciso e ciò forse spiega perché in certe situazioni la compressione risulti differente.
Comunque son tutti valori che puoi modificare. Per esempio potresti sperimentare il preset 'slow', aggiungere 4-8 fotogrammi di tipo B, aumentare leggermente il crf, portandolo ad esempio a 24-25; tutto finché il processore regge e il rapporto qualità/compressione è soddisfacente.
Tu mi dirai: dove le trovo le opzioni da passare all'encoder?
Per farti un'idea:
Alcune di queste si passano a ffmpeg con '-x264opts opzione1=,opzione2=', mentre le più comuni con gli argomenti propri di ffmpeg.
Chiudo con un esempio:
Codice: Seleziona tutto
ffmpeg -i input_file -profile:v high -preset:v slow -crf 24 -x264opts bframes=5 -y output_file
(In realtà per i bframes avresti potuto usare '-bf 5' al posto di -x264opts etc, etc'.)
Insomma, c'è solo da sperimentare un pò.