FloatImg4PythonBinding/Fonderie/README.md

3.6 KiB

Fonderie et Interpolator

Avec toutes ces fonctions disponibles et grabvidseq, nous savons faire des images floues*. L'étape suivante, les plus pervers d'entre vous le savent déja, est celle de la création de films flous.

À l'heure actuelle, il y a deux programmes distincts. Le premier (fonderie) fait une moyenne mobile sur N images consécutives, et le second (interpolator) fait un fondu-enchainé de N pas entre deux images consécutives.

Mais avant et après un de ces deux traitements, il y a des chaines de filtres...

Chaine de filtres

Ce système connait un certain nombre de filtres et d'effets spéciaux destinés à la kitchitude du produit final. Ils peuvent être chainés les uns après les autres, à l'entrée et à la sortie du process de floutagement.

Ces filtres ont chacun un nom et un numéro. que l'on peut (en théorie) utiliser indistinctement dans une chaine de filtres. En principe, l'option -L permet d'obtenir la liste des filtres.

Une chaine de filtres est constituée d'une liste de nom ou de numéro de filtre, séparés par le caractère :, une façon de faire très classique dans notre univers, en fait.

mirsplit:ctr2x2:3:killlines

Nous allons donc voir quelques exemples un peu plus loin.

Fonderie

Le programme principal, utilisé à partir de la ligne de commande avec une foule d'options aux mnémoniques abscons et à la syntaxe perverse.

Rassurez-vous, en général il est wrappable dans des scripts écrits en Bash. Il est même possible un jour qu'ils puissent lire des paramètres dans $(env).

./fonderie, compiled Dec 30 2020, 14:09:18, pid 5013
*** FloatImg library, alpha v116 (Dec 27 2020, 22:39:28)
        FONDERIE
options:
        -E      input:filter:chain
        -F      output:filter:chain
        -g      convert to gray
        -I      input glob pattern
        -L      list available filters
        -O      output directory
        -T      fifo size
        -v      increase verbosity

exemple d'utilisation

Voici comment appeler cette machinerie depuis la ligne de commande tel qu'il m'arrive de le pratiquer :

#!/bin/bash

GRABDIR="/spool/tth/fonderie"
FONDEUR="$HOME/Devel/FloatImg/Fonderie/fonderie"
GLOB=${GRABDIR}'/?????.fimg'

${FONDEUR} -I "$GLOB" -E cos01:25 -T 30 -F 2:classtrial

Votre machine va maintenant mouliner avec entrain et persévérence, puis ensuite il suffit d'encoder toutes les images générées dans p8/ (répertoire de sortie par défaut) avec une incantation de ffmpeg :

ffmpeg  -nostdin                                        \
        -loglevel error                                 \
        -y -r 30 -f image2 -i p8/%05d.png               \
        -c:v libx264 -pix_fmt yuv420p                   \
        foo.mp4

crapulator.c

C'est dans ce module qu'est codé le moteur de filtrage, utilisé aussi bien en entrée qu'en sortie. Il est, à l'heure actuelle, assez rudimentaire, avec un paramétrage simpliste, et un manque criant de documentation...

Interpolator

Un logiciel dont l'inspiration vient du passé et les améliorations d'une résidence à Terre-Blanque, ça ne peut pas être complètement malsain.

*** interpolator.c : compiled by tTh, Jan 12 2021 16:18:58
*** FloatImg library, alpha v116 (Dec 27 2020, 22:39:28)
        INTERPOLATOR
usage:
        interpolator [options] <inglob> <outdir> <nbsteep>
options:
        -S nn           mysterious sort
        -E i:bla:k      input  filter chain
        -F name:j       output filter chain
        -L              list available filters
        -v              increase verbosity

Conclusion

Use the source, Luke