Contenu | Rechercher | Menus

Annonce

T-shirt Seiche Cosmic, Série limitée

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

Ubuntu 18.10
T-shirt Ubuntu-FR « Seiche Cosmique » en série limitée ! Prix spécial pré-vente (15€) jusqu'au 4 novembre 2018.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

Heure d'hiver: N'oubliez pas de décochez l'heure d'été dans votre profil.

#1 Le 08/11/2018, à 23:58

DonutMan75

ffmpeg : preset plus disponibles ?

Bonsoir à tous,
je me suis récemment mis à l'utilisation de ffmpeg pour otpimiser un peu mes vidéos perso (généralement filmées avec un iphone, donc du h264 encapsulé dans du Quick Time).

J'aimerais encapsuler tout ça dans du mkv et jouer un peu avec les options d'encodage pour voir si je peux gagner un peu de place.
Si j'ai bien compris, les presets permettent de spécifier en une fois tout un jeu de règles cohérentes entre elles afin d'optimiser soit le temps d'encodage (genre si on est pressé ??) soit la qualité du rendu final. On les pilote via l'opion "- vpre nom_du_preset". Jusque là j'ai bon ?

Or quand j'essaie de mettre en place les tuto trouvés sur le net, j'obtiens une erreur me disant que le preset n'existe pas !

$ ffmpeg -i IMG_4587.MOV -vcodec libx264 -vpre baseline -f matroska essai.mkv
ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
(...)
File for preset 'baseline' not found

En cherchant un peu sur le net, j'ai cru comprendre qu'on pouvait lister les presets disponibles via :

$ sudo find /usr -iname '*.ffpreset'
/usr/share/ffmpeg/libvpx-1080p50_60.ffpreset
/usr/share/ffmpeg/libvpx-720p50_60.ffpreset
/usr/share/ffmpeg/libvpx-360p.ffpreset
/usr/share/ffmpeg/libvpx-1080p.ffpreset
/usr/share/ffmpeg/libvpx-720p.ffpreset

Ola... aucun preset pour le h264 ???
Bon je me suis dit que, comme il s'agit juste d'un ensemble de règles, ça doit pouvoir se trouver sur le net... mais je n'ai pas réussi à trouver sad

Sur le forum, il y avait un post similaire datant de 2014 (sic !). Mais je ne comprends pas bien la réponse apportée... Je comprends vaguement que des presets ont été enlevés mais sans trop savoir par quoi ils ont été remplacés..
Et la doc de ffmpeg parle bien des presets... mais sans en donner ni les valeurs possibles ni la façon de les récupérer...

Bref, ma question pourrait se résumer à : y'a t'il parmi vous des gens habitués de l'encodage h264 avec ffmpeg ? Si oui, comment gérez-vous finement les options d'encodage ?

Merci d'avance pour votre retour smile

Bonne soirée à tous

Donut

Hors ligne

#2 Le 09/11/2018, à 13:41

grigouille

Re : ffmpeg : preset plus disponibles ?


Xubuntu 18.04

Hors ligne

#3 Le 10/11/2018, à 14:36

DonutMan75

Re : ffmpeg : preset plus disponibles ?

Bonjour,
merci pour le lien, je vais regarder ça de près !
Néanmoins, ils parlent toujours des presets "fast", "slow" etc... et aucun de ces derniers ne semblent installés avec la version par défaut d'Ubuntu 18.04 LTS...

Bon samedi à tous smile

Donut

Hors ligne

#4 Le 10/11/2018, à 14:58

grigouille

Re : ffmpeg : preset plus disponibles ?

fonctionne parfaitement sous 18.04


Xubuntu 18.04

Hors ligne

#5 Le 13/11/2018, à 07:14

DonutMan75

Re : ffmpeg : preset plus disponibles ?

Bonjour,
eh bien pour je ne sais quelle obscure raison, ce n'est manifestement pas le cas pour moi...

En farfouillant un peu sur le net, je suis bien tombé sur ces presets (vieux de 8 ans !) : https://github.com/joeyblake/FFmpeg-Presets

Et de toute façon, ils n'ont pas l'air compatibles avec ma version de ffmpeg

/home/donut/.ffmpeg/libx264-veryslow.ffpreset: Invalid option or argument: 'directpred=3
', parsed as 'directpred' = '3'

Quelque chose m'échappe...

$ ffmpeg -version
ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil      55. 78.100 / 55. 78.100
libavcodec     57.107.100 / 57.107.100
libavformat    57. 83.100 / 57. 83.100
libavdevice    57. 10.100 / 57. 10.100
libavfilter     6.107.100 /  6.107.100
libavresample   3.  7.  0 /  3.  7.  0
libswscale      4.  8.100 /  4.  8.100
libswresample   2.  9.100 /  2.  9.100
libpostproc    54.  7.100 / 54.  7.100
$ lsb_release -d
Description:	Ubuntu 18.04.1 LTS

Donut.

Hors ligne

#6 Le 16/11/2018, à 22:38

Gatsu

Re : ffmpeg : preset plus disponibles ?

Salut DonutMan75

DonutMan75 a écrit :

Bref, ma question pourrait se résumer à : y'a t'il parmi vous des gens habitués de l'encodage h264 avec ffmpeg ? Si oui, comment gérez-vous finement les options d'encodage ?

La réponse sera très simple : si tu ne t'y connais pas en options d'encodage, n'y touche surtout pas, tu feras plus de mal que de bien.

Bon ça c'était la réponse générale, maintenant les parties spécifiques.

1. Si tu veux faire varier le temps d'encodage / taille du fichier final pour une qualité d'image équivalente, il faut utiliser l'option -preset suivi d'une des valeurs suivantes : ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo. medium étant le standard par défaut et le mieux optimisé pour obtenir un fichier de petite taille en comparaison avec la vitesse d'encodage. Réduire la vitesse d'encodage activera des options supplémentaires gourmandes en processeur qui réduiront encore plus la taille du fichier final. Je te conseille de faire des essais, tu verras que le gain est assez minime pour un encodage bien plus long. Les options plus rapides sont interessantes quand on veut faire du streaming, c'est à dire encoder sans surcharger à outrance son processeur. Attention, placebo sera infiniment lent.

2. Si tu veux améliorer la qualité du rendu final, il faut utiliser l'option -crf suivi d'un chiffre, 23 par défaut s'il n'est pas défini. Plus tu réduiras ce chiffre, plus la qualité sera meilleure, plus tu l'augmenteras, plus la qualité sera dégradée. Un écart de 6 points divisera ou multipliera par 2 la taille du fichier final. Tu trouveras tout un tas d'essais que j'avais effectués il y a plusieurs années dans ce post : https://forum.ubuntu-fr.org/viewtopic.php?id=1431841

Le lien fourni par grigouille résume très bien les options les plus utiles de ffmpeg avec x264.

Un exemple de ligne à fournir en spécifiant certaines des options les plus utiles:

ffmpeg -i [VIDEO-ENTREE] -c:v libx264 -tune film -preset medium -crf 23 -c:a libvorbis -q:a 3 [VIDEO-SORTIE].mkv

Dernière modification par Gatsu (Le 16/11/2018, à 22:41)

Hors ligne