Quels paramètres puis-je utiliser pour maximiser les performances FFMpeg?

9

J'essaie de faire une capture d'écran, mais comme mon ordinateur est beaucoup trop vieux et lent, la vidéo en cours de production est retardée et l'application que j'essaie d'enregistrer ne répond plus en raison de la consommation du processeur. Comme je ne peux pas mettre à niveau pour le moment, je cherche à optimiser ce que j'ai.
Je suis passé de GNOME à OpenBox, et j'ai tué des processus inutiles, etc. Toujours pas bon. J'ai également optimisé l'application que j'enregistre, donc la seule chose qui reste serait l'enregistreur lui-même, qui est FFMpeg.

Quelles sont les options et indicateurs qui peuvent être utilisés pour obtenir les meilleures performances de FFMpeg? Existe-t-il des codecs spécifiques plus faciles à traiter que d'autres? J'enregistrerai environ 10-15 minutes à la fois, donc quelque chose qui ne produit pas d'énormes tailles de fichiers serait également apprécié. Des idées?

Miguel
la source
5
À titre indicatif: petite taille, bonne qualité, haute vitesse: choisissez-en deux. J'enregistrerais dans un format avec moins de compression / un débit binaire plus élevé par seconde en premier, puis recompresser ce fichier en quelque chose de plus petit à une vitesse inférieure à celle en temps réel.
Ulrich Schwarz
@UlrichSchwarz, Excellente réponse. Je suis entièrement d'accord avec lui.

Réponses:

4

Si vous avez un ancien ordinateur, n'importe quel codec posera des problèmes pour l'encodage en temps réel (pas seulement pour le CPU mais aussi pour le disque). Je suggère de trouver une résolution suffisamment basse pour réduire la taille du fichier. Si vous souhaitez avoir des résolutions personnalisées et une fréquence d'images (mpeg1 / mpeg2 ne peut pas être utilisé). La résolution et la fréquence d'images choisissent judicieusement.

Voici mes suggestions de commutateurs dans ffmpeg:

-vcodec libx264 
-r 15
-preset ultrafast
-s 800x600

ici je mets 800x600 (c'est peut-être trop bas) et le framerate est de 15 fps. Pour de meilleures performances, réglez le framerate de 15 à 10 FPS. D'après mon expérience, x264 est un codec rapide et permet des résolutions et des fréquences d'images personnalisées.

Voici la configuration pour MPEG2 (qui est plus rapide mais limité par les résolutions et la fréquence d'images)

-r 25 
-s 720x480 
-preset ultrafast 
-vcodec mpeg2video
manuel
la source
Je dois vérifier, vous pouvez être la première personne dans l'histoire à qualifier l'encodage H.264 de "rapide" ... :-P Mais oui, l'essentiel est le préréglage pour désactiver toutes les options coûteuses.
derobert
Tu as raison! si 720x480 est assez bon ici, c'est plus rapide: -r 25 -s 720x480 -preset ultra-rapide -vcodec mpeg2video (je vis dans le monde Full HD et j'ai complètement oublié quelqu'un utiliser une résolution 800x600 :()
manuel