FloatImg4PythonBinding/Fonderie/README.md

109 lines
3.2 KiB
Markdown
Raw Normal View History

# Fonderie et Interpolator
2020-11-03 00:51:48 +11:00
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**.
2020-12-19 18:48:56 +11:00
À 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.
2020-12-31 00:42:44 +11:00
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.
2020-12-19 18:48:56 +11:00
## Fonderie
2020-11-03 00:51:48 +11:00
2020-11-03 08:20:54 +11:00
Le programme principal, utilisé à partir de la ligne de commande
2020-12-19 18:48:56 +11:00
avec une foule d'options aux mnémoniques abscons et à la syntaxe
perverse.
2020-11-03 08:20:54 +11:00
2020-11-09 03:38:55 +11:00
Rassurez-vous, en général il est wrappable dans des scripts
2020-11-06 07:07:38 +11:00
écrits en Bash. Il est même possible un jour qu'ils puissent lire des
2020-11-03 08:20:54 +11:00
paramètres dans `$(env)`.
2020-11-05 05:29:07 +11:00
```
2020-12-31 00:42:44 +11:00
./fonderie, compiled Dec 30 2020, 14:09:18, pid 5013
*** FloatImg library, alpha v116 (Dec 27 2020, 22:39:28)
2020-11-05 05:29:07 +11:00
FONDERIE
options:
2020-12-31 00:42:44 +11:00
-E input:filter:chain
-F output:filter:chain
2020-11-05 05:29:07 +11:00
-g convert to gray
-I input glob pattern
2020-12-31 00:42:44 +11:00
-L list available filters
2020-11-05 05:29:07 +11:00
-O output directory
-T fifo size
-v increase verbosity
```
2020-11-06 04:24:05 +11:00
## exemple d'utilisation
2020-12-31 00:42:44 +11:00
Voici comment appeler cette machinerie depuis la ligne de commande
tel qu'il m'arrive de le pratiquer :
2020-11-06 04:24:05 +11:00
```
#!/bin/bash
GRABDIR="/spool/tth/fonderie"
FONDEUR="$HOME/Devel/FloatImg/Fonderie/fonderie"
GLOB=${GRABDIR}'/?????.fimg'
2020-12-31 00:42:44 +11:00
${FONDEUR} -I "$GLOB" -E cos01:25 -T 30 -F 2:classtrial
2020-11-06 04:24:05 +11:00
```
2020-11-06 07:07:38 +11:00
2020-12-31 00:42:44 +11:00
Votre machine va maintenant mouliner avec entrain et persévérence,
puis
2020-12-19 18:48:56 +11:00
ensuite il suffit d'encoder toutes les images générées dans
2020-11-09 03:38:55 +11:00
`p8/` (répertoire de sortie par défaut)
2020-11-06 04:24:05 +11:00
avec une incantation de ffmpeg :
```
2020-11-06 07:07:38 +11:00
ffmpeg -nostdin \
-loglevel error \
-y -r 30 -f image2 -i p8/%05d.png \
-c:v libx264 -pix_fmt yuv420p \
foo.mp4
2020-11-06 04:24:05 +11:00
```
2020-12-19 18:48:56 +11:00
## crapulator.c
2020-11-03 08:20:54 +11:00
C'est dans ce module qu'est codé le moteur de filtrage, utilisé
2020-11-05 05:29:07 +11:00
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
2020-12-19 18:48:56 +11:00
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.
2020-11-13 09:39:16 +11:00
2020-11-10 10:50:25 +11:00
## Conclusion
2020-11-05 05:29:07 +11:00
**Use the source, Luke**
2020-11-03 08:20:54 +11:00