Settings referenceRéférence des réglages
Written by the program itself (ShaderToMP4 --dump-reference=settings): every key that config.ini can hold, with the value it gets by default. A key can be written in config.ini, in a // key=value comment of a shader and on the command line as --key=value.
| Key | Default | Description |
|---|---|---|
width | 1920 | picture width in pixels, 16 to 16384 (rounded to an even number) |
height | 1080 | picture height in pixels, 16 to 16384 (rounded to an even number) |
fps | 60 | frames per second, 1 to 240 |
duration | 90 | seconds (90 = one full loop of this shader) |
start | 0 | start time (iTime) in seconds |
crf | 12 | quality: 0 = lossless, 12 = nearly perfect, 18 = very good |
preset | slow | ultrafast ... medium ... slow ... veryslow (slower = smaller file) |
codec | h264 | h264, h265, vp9 or av1 |
container | mp4 | mp4, mov, mkv or webm |
ss | 1 | smoothing (supersampling): 1 = none, 2 = x2, 3 = x3, 4 = x4 |
outdir | empty | output folder (empty = next to the shader) |
bitrate | 0 | kb/s; 0 = constant quality (crf) |
color | bt709 | bt709, bt709full (full range), srgb or bt601 |
blur | 1 | motion blur: sub-frames per frame (1 = none, 4, 8, 16) |
shutter | 0.5 | blur shutter, as a fraction of a frame (0.5 = 180 degrees) |
loop | 0 | shader period in seconds: the duration becomes a whole multiple (0 = free) |
audio | empty | sound file mixed into the video, aligned with the start time (empty = none) |
fadein | 0 | fade-in in seconds (picture and sound) |
fadeout | 0 | fade-out in seconds |
encoder | cpu | cpu, auto, nvenc, amf or qsv (hardware encoding when available) |
pbo | 3 | depth of the GPU read-back queue (2 to 8) |
depth | 8 | 8 or 10 (bits per channel; 10 for H.265, AV1, VP9, ProRes, 16-bit PNG/TIFF) |
name | empty | output file name template: {shader} {w} {h} {fps} {date} {codec} |
exists | overwrite | when the output already exists: overwrite, number or skip |
gpu | default | graphics card on a two-GPU PC (Linux): default, high (the powerful one) or low (the integrated one); needs a restart |
endaction | none | after a successful batch: none, folder (show the last file) or sleep |
chunk | 30 | render in parts of N seconds, resumable after an interruption (0 = never) |
warmup | 0 | warm-up: frames simulated before the first one (buffers are warmed up, iFrame starts at N), 0 = none |
vr | auto | mainVR shader: auto (when there is no mainImage), off, mono or stereo (360° equirectangular, stereo = left eye on top) |
vripd | 0.064 | distance between the two eyes of the stereo VR render, in shader units (0.064 by default) |
metadata | 1 | 1 = write title and comment in the video file, 0 = none |
loopmode | written only when it is no longer the default | seamless loop: none | crossfade | pingpong |
loopfade | written only when it is no longer the default | duration of the crossfade loop in seconds |
timemap | written only when it is no longer the default | time curve video:shader in seconds, for example 0:0;4:1;8:5 (empty = real time) |
speed | written only when it is no longer the default | speed of the shader time (0.25 = four times slower) |
audiofollow | written only when it is no longer the default | the sound follows the constant speed (tempo, pitch kept) |
iChannel0 | written only when it is no longer the default | texture of iChannel0-3: image path, noise or grid (+ .filter nearest|linear|mipmap, .wrap clamp|repeat, .vflip 0|1) |
bufferA | written only when it is no longer the default | size of Buffer A to D: bufferA.scale (fraction of the render size) or bufferA.size (WxH pixels) |
date | written only when it is no longer the default | fixed iDate: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS (reproducible render), add +rate=R for seconds of date per second of video (default 1, 0 = frozen) |
variant | written only when it is no longer the default | extra rendering of the same shader: name:key=value|key=value (e.g. 720p:width=1280|height=720|crf=23); repeat the line for each variant |
report | written only when it is no longer the default | render report next to the video: json or text (off = none) |
samples | written only when it is no longer the default | still image: samples averaged (1 = one) |
precheck | written only when it is no longer the default | quality check before each video render (flashes, invalid values) |
target | written only when it is no longer the default | publication target: youtube-shorts, tiktok, instagram-reel, discord, x, ... (see presets/targets.ini), sets size, duration, codec and weight |
targetsize | written only when it is no longer the default | target file size, e.g. 8MB or 25MB: the bitrate is computed and corrected until the file fits (h264, h265, vp9, av1) |
crop | written only when it is no longer the default | crop after rendering: W:H, W:H:X:Y or a ratio such as 9:16 (centred); the shader is rendered in full |
mastercache | written only when it is no longer the default | 1 = keep a lossless master in cache/ and derive every format from it without rendering again |
cachemax | written only when it is no longer the default | maximum size of cache/ in GB (oldest masters are removed first) |
embed | written only when it is no longer the default | 1 = embed the shader, its passes and the settings in the video tag so --reproduce can render it again |
animpreview | written only when it is no longer the default | animated preview of the finished video: off, gif or webp (a short loop next to the video) |
source | written only when it is no longer the default | effect mode: a video, an image, a sequence (img_%04d.png) or a folder, read as iChannel0; size, rate, duration and sound follow it |
source2 | written only when it is no longer the default | second source, iChannel1: with a shader that reads iProgress, a transition from source to source2 |
sourcematch | written only when it is no longer the default | what the source imposes when source is set: size, fps, duration (a list) or none |
sourceaudio | written only when it is no longer the default | 1 = take the sound of the source (default), 0 = keep the audio setting |
reverse | written only when it is no longer the default | 1 = play the time range backwards |
sourcefps | written only when it is no longer the default | rate of an image sequence used as source, in images per second (0 = 25) |
transitionduration | written only when it is no longer the default | duration of the transition between source and source2, in seconds |
transitionoffset | written only when it is no longer the default | shifts the start of the transition, in seconds (positive = later) |
parallel | written only when it is no longer the default | parts rendered at the same time by this many OpenGL contexts (1 to 16; needs chunk, the render by parts) |
farm | written only when it is no longer the default | shared folder of a render farm: several computers render the parts of the same video (needs chunk) |
farmtimeout | written only when it is no longer the default | seconds without a sign of life after which the lock of a farm part is taken over (computer switched off) |
bpm | written only when it is no longer the default | tempo imposed on the sound analysis, in beats per minute (0 or absent = detected) |
beatsperbar | written only when it is no longer the default | beats per bar (2 to 12), used for the bars and the sections |
markers | written only when it is no longer the default | markers from the rhythm of the sound: off, chapters (sections as chapters of the file), file (marker files) or all |
beatsync | written only when it is no longer the default | montage: cuts placed on the music: off, beat, bar or section |
autocredit | written only when it is no longer the default | 1 = write the shader title and author on the first seconds of the video |
stillformat | written only when it is no longer the default | still image format: png | tiff (16 bits per channel with depth=10) |
aov | written only when it is no longer the default | output passes written to EXR sequences: name=bufferB.r;normal=bufferC.rgb;alpha;motion (off clears) |
exrcompression | written only when it is no longer the default | EXR compression: none, zips (one line per block) or zip (sixteen lines, default) |
exrprecision | written only when it is no longer the default | EXR precision of the colour: half (16 bits, default) or float (32 bits); depth and id are always 32 bits |
alphamode | written only when it is no longer the default | alpha written to PNG, TIFF, DPX and EXR: straight (default) or premult (colour multiplied by alpha) |
depthrange | written only when it is no longer the default | depth bounds near:far: the depth.Z channel is written normalised between them and the bounds are declared in the EXR header (empty: raw values) |
tifffloat | written only when it is no longer the default | 1 = TIFF sequences written by the program in 32-bit floating point (RGB or RGBA) |
vectorblur | written only when it is no longer the default | vector motion blur of the EXR output: fraction of the movement between two frames (0 = none, 1 = all of it); needs a motion pass |
tile | written only when it is no longer the default | still image: tile side in pixels (0 = automatic) |
printdpi | written only when it is no longer the default | PNG still image: resolution written in the file (dots per inch) |
alpha | written only when it is no longer the default | 1 keeps the alpha channel of the shader (ProRes 4444, VP9 WebM, WebP, PNG, TIFF, EXR) |
hdr | written only when it is no longer the default | HDR output: pq (HDR10) or hlg; off for none |
hdrpeak | written only when it is no longer the default | declared MaxCLL in cd/m² (1000 by default) |
hdrfall | written only when it is no longer the default | declared MaxFALL in cd/m² (400 by default) |
hdrwhite | written only when it is no longer the default | luminance in cd/m² of a shader white of 1.0 (203 by default) |
interp | written only when it is no longer the default | output frame rate by interpolation (0 = none); the render is made at fps |
scale | written only when it is no longer the default | output size: 1920x1080, a factor (2, 0.5x); empty = the render size |
scalefilter | written only when it is no longer the default | scaling filter: lanczos, bicubic, bilinear, area or neighbor |
loudnorm | written only when it is no longer the default | sound normalization in LUFS, for example -16 (0 or off = none) |
title | written only when it is no longer the default | text drawn in the middle of the picture during the first seconds |
credit | written only when it is no longer the default | text drawn at the bottom left during the first seconds |
titledur | written only when it is no longer the default | duration in seconds of title and credit (3 by default) |
post | written only when it is no longer the default | post-processing effects, e.g. bloom:0.4,grain,vignette (sharpen chroma bloom contrast saturation hue vignette grain; amount after the colon) |
lut | written only when it is no longer the default | color LUT in .cube format applied after the effects (1D or 3D, path relative to the shader) |
The Pro edition adds its own keys (3D scene, signals and data, colour and quality, dressing and delivery, performance): they are listed in the Pro settings window, one field per key.
Écrit par le programme lui-même (ShaderToMP4 --dump-reference=settings) : toutes les clés que config.ini peut contenir, avec leur valeur par défaut. Une clé s'écrit dans config.ini, dans un commentaire // clé=valeur d'un shader et sur la ligne de commande sous la forme --clé=valeur.
| Clé | Défaut | Description |
|---|---|---|
width | 1920 | largeur de l'image en pixels, 16 à 16384 (arrondie à un nombre pair) |
height | 1080 | hauteur de l'image en pixels, 16 à 16384 (arrondie à un nombre pair) |
fps | 60 | images par seconde, 1 à 240 |
duration | 90 | secondes (90 = une boucle complète de ce shader) |
start | 0 | temps de départ (iTime) en secondes |
crf | 12 | qualité : 0 = sans perte, 12 = quasi parfait, 18 = très bon |
preset | slow | ultrafast ... medium ... slow ... veryslow (plus lent = fichier plus petit) |
codec | h264 | h264, h265, vp9 ou av1 |
container | mp4 | mp4, mov, mkv ou webm |
ss | 1 | lissage (supersampling) : 1 = aucun, 2 = x2, 3 = x3, 4 = x4 |
outdir | vide | dossier de sortie (vide = à côté du shader) |
bitrate | 0 | kb/s ; 0 = qualité constante (crf) |
color | bt709 | bt709, bt709full (pleine plage), srgb ou bt601 |
blur | 1 | flou de mouvement : sous-images par image (1 = aucun, 4, 8, 16) |
shutter | 0.5 | obturateur du flou, en fraction d'une image (0.5 = 180 degrés) |
loop | 0 | période du shader en secondes : la durée devient un multiple entier (0 = libre) |
audio | vide | fichier son mixé dans la vidéo, aligné sur l'instant de début (vide = aucun) |
fadein | 0 | fondu d'entrée en secondes (image et son) |
fadeout | 0 | fondu de sortie en secondes |
encoder | cpu | cpu, auto, nvenc, amf ou qsv (encodage matériel si disponible) |
pbo | 3 | profondeur de la file de lecture GPU (2 à 8) |
depth | 8 | 8 ou 10 (bits par canal ; 10 pour H.265, AV1, VP9, ProRes, PNG/TIFF en 16 bits) |
name | vide | modèle du nom de sortie : {shader} {w} {h} {fps} {date} {codec} |
exists | overwrite | si la sortie existe déjà : overwrite (écraser), number (numéroter) ou skip (ignorer) |
gpu | default | carte graphique sur un PC à deux GPU (Linux) : default, high (la puissante) ou low (l'intégrée) ; demande un redémarrage |
endaction | none | après un lot réussi : none, folder (montrer le dernier fichier) ou sleep (veille) |
chunk | 30 | rendu par parties de N secondes, reprenable après interruption (0 = jamais) |
warmup | 0 | chauffe : images simulées avant la première (les tampons sont chauffés, iFrame démarre à N), 0 = aucune |
vr | auto | shader mainVR : auto (quand il n'y a pas de mainImage), off, mono ou stereo (360° équirectangulaire, stereo = œil gauche en haut) |
vripd | 0.064 | distance entre les deux yeux du rendu VR stéréo, en unités du shader (0.064 par défaut) |
metadata | 1 | 1 = écrire titre et commentaire dans le fichier vidéo, 0 = aucun |
loopmode | écrite seulement quand elle n'a plus sa valeur par défaut | boucle sans couture : none | crossfade | pingpong |
loopfade | écrite seulement quand elle n'a plus sa valeur par défaut | durée du fondu de la boucle en secondes |
timemap | écrite seulement quand elle n'a plus sa valeur par défaut | courbe de temps vidéo:shader en secondes, par exemple 0:0;4:1;8:5 (vide = temps réel) |
speed | écrite seulement quand elle n'a plus sa valeur par défaut | vitesse du temps du shader (0.25 = quatre fois plus lent) |
audiofollow | écrite seulement quand elle n'a plus sa valeur par défaut | le son suit la vitesse constante (tempo, hauteur conservée) |
iChannel0 | écrite seulement quand elle n'a plus sa valeur par défaut | texture de iChannel0-3 : chemin d'image, noise ou grid (+ .filter nearest|linear|mipmap, .wrap clamp|repeat, .vflip 0|1) |
bufferA | écrite seulement quand elle n'a plus sa valeur par défaut | taille des Buffer A à D : bufferA.scale (fraction de la taille du rendu) ou bufferA.size (pixels LxH) |
date | écrite seulement quand elle n'a plus sa valeur par défaut | iDate fixe : AAAA-MM-JJ ou AAAA-MM-JJTHH:MM:SS (rendu reproductible), ajouter +rate=R pour R secondes de date par seconde de vidéo (1 par défaut, 0 = figée) |
variant | écrite seulement quand elle n'a plus sa valeur par défaut | rendu supplémentaire du même shader : nom:clé=valeur|clé=valeur (ex. 720p:width=1280|height=720|crf=23) ; une ligne par variante |
report | écrite seulement quand elle n'a plus sa valeur par défaut | rapport de rendu à côté de la vidéo : json ou text (off = aucun) |
samples | écrite seulement quand elle n'a plus sa valeur par défaut | image fixe : échantillons moyennés (1 = un seul) |
precheck | écrite seulement quand elle n'a plus sa valeur par défaut | contrôle qualité avant chaque rendu vidéo (flashs, valeurs invalides) |
target | écrite seulement quand elle n'a plus sa valeur par défaut | destination de publication : youtube-shorts, tiktok, instagram-reel, discord, x, ... (voir presets/targets.ini), règle taille, durée, codec et poids |
targetsize | écrite seulement quand elle n'a plus sa valeur par défaut | poids cible du fichier, par ex. 8MB ou 25MB : le débit est calculé et corrigé jusqu'à ce que le fichier tienne (h264, h265, vp9, av1) |
crop | écrite seulement quand elle n'a plus sa valeur par défaut | recadrage après rendu : L:H, L:H:X:Y ou un rapport comme 9:16 (centré) ; le shader est rendu en entier |
mastercache | écrite seulement quand elle n'a plus sa valeur par défaut | 1 = garde un maître sans perte dans cache/ et en tire chaque format sans refaire le rendu |
cachemax | écrite seulement quand elle n'a plus sa valeur par défaut | taille maximale de cache/ en Go (les maîtres les plus anciens partent en premier) |
embed | écrite seulement quand elle n'a plus sa valeur par défaut | 1 = embarque le shader, ses passes et les réglages dans la balise de la vidéo pour que --reproduce puisse la refaire |
animpreview | écrite seulement quand elle n'a plus sa valeur par défaut | aperçu animé de la vidéo terminée : off, gif ou webp (une courte boucle à côté de la vidéo) |
source | écrite seulement quand elle n'a plus sa valeur par défaut | mode effet : une vidéo, une image, une séquence (img_%04d.png) ou un dossier, lus comme iChannel0 ; taille, cadence, durée et son la suivent |
source2 | écrite seulement quand elle n'a plus sa valeur par défaut | deuxième source, iChannel1 : avec un shader qui lit iProgress, une transition de source vers source2 |
sourcematch | écrite seulement quand elle n'a plus sa valeur par défaut | ce que la source impose quand source est réglé : size, fps, duration (une liste) ou none |
sourceaudio | écrite seulement quand elle n'a plus sa valeur par défaut | 1 = reprendre le son de la source (défaut), 0 = garder le réglage audio |
reverse | écrite seulement quand elle n'a plus sa valeur par défaut | 1 = jouer la plage de temps à l'envers |
sourcefps | écrite seulement quand elle n'a plus sa valeur par défaut | cadence d'une séquence d'images utilisée comme source, en images par seconde (0 = 25) |
transitionduration | écrite seulement quand elle n'a plus sa valeur par défaut | durée de la transition entre source et source2, en secondes |
transitionoffset | écrite seulement quand elle n'a plus sa valeur par défaut | décale le début de la transition, en secondes (positif = plus tard) |
parallel | écrite seulement quand elle n'a plus sa valeur par défaut | parties rendues en même temps par autant de contextes OpenGL (1 à 16 ; demande chunk, le rendu par parties) |
farm | écrite seulement quand elle n'a plus sa valeur par défaut | dossier partagé d'une ferme de rendu : plusieurs ordinateurs rendent les parties d'une même vidéo (demande chunk) |
farmtimeout | écrite seulement quand elle n'a plus sa valeur par défaut | secondes sans signe de vie après lesquelles le verrou d'une partie de la ferme est repris (ordinateur éteint) |
bpm | écrite seulement quand elle n'a plus sa valeur par défaut | tempo imposé à l'analyse du son, en temps par minute (0 ou absent = détecté) |
beatsperbar | écrite seulement quand elle n'a plus sa valeur par défaut | temps par mesure (2 à 12), pour les mesures et les sections |
markers | écrite seulement quand elle n'a plus sa valeur par défaut | repères tirés du rythme du son : off, chapters (sections en chapitres du fichier), file (fichiers de repères) ou all |
beatsync | écrite seulement quand elle n'a plus sa valeur par défaut | montage : coupes posées sur la musique : off, beat (temps), bar (mesures) ou section |
autocredit | écrite seulement quand elle n'a plus sa valeur par défaut | 1 = écrit le titre et l'auteur du shader sur les premières secondes de la vidéo |
stillformat | écrite seulement quand elle n'a plus sa valeur par défaut | format de l'image fixe : png | tiff (16 bits par canal avec depth=10) |
aov | écrite seulement quand elle n'a plus sa valeur par défaut | passes de sortie écrites dans une séquence EXR : nom=bufferB.r;normal=bufferC.rgb;alpha;motion (off efface) |
exrcompression | écrite seulement quand elle n'a plus sa valeur par défaut | compression EXR : none, zips (une ligne par bloc) ou zip (seize lignes, défaut) |
exrprecision | écrite seulement quand elle n'a plus sa valeur par défaut | précision de la couleur EXR : half (16 bits, défaut) ou float (32 bits) ; la profondeur et les identifiants sont toujours en 32 bits |
alphamode | écrite seulement quand elle n'a plus sa valeur par défaut | alpha écrit dans les PNG, TIFF, DPX et EXR : straight (droit, défaut) ou premult (couleur multipliée par l'alpha) |
depthrange | écrite seulement quand elle n'a plus sa valeur par défaut | bornes de la profondeur proche:loin : le canal depth.Z est écrit normalisé entre elles et les bornes sont déclarées dans l'en-tête EXR (vide : valeurs brutes) |
tifffloat | écrite seulement quand elle n'a plus sa valeur par défaut | 1 = séquences TIFF écrites par le programme en virgule flottante 32 bits (RGB ou RGBA) |
vectorblur | écrite seulement quand elle n'a plus sa valeur par défaut | flou de mouvement vectoriel de la sortie EXR : part du déplacement entre deux images (0 = aucun, 1 = tout) ; demande une passe de mouvement |
tile | écrite seulement quand elle n'a plus sa valeur par défaut | image fixe : côté des tuiles en pixels (0 = automatique) |
printdpi | écrite seulement quand elle n'a plus sa valeur par défaut | image fixe PNG : résolution écrite dans le fichier (points par pouce) |
alpha | écrite seulement quand elle n'a plus sa valeur par défaut | 1 garde le canal alpha du shader (ProRes 4444, VP9 WebM, WebP, PNG, TIFF, EXR) |
hdr | écrite seulement quand elle n'a plus sa valeur par défaut | sortie HDR : pq (HDR10) ou hlg ; off pour aucune |
hdrpeak | écrite seulement quand elle n'a plus sa valeur par défaut | MaxCLL déclaré en cd/m² (1000 par défaut) |
hdrfall | écrite seulement quand elle n'a plus sa valeur par défaut | MaxFALL déclaré en cd/m² (400 par défaut) |
hdrwhite | écrite seulement quand elle n'a plus sa valeur par défaut | luminance en cd/m² d'un blanc de shader à 1,0 (203 par défaut) |
interp | écrite seulement quand elle n'a plus sa valeur par défaut | cadence de sortie par interpolation (0 = aucune) ; le rendu se fait à fps |
scale | écrite seulement quand elle n'a plus sa valeur par défaut | taille de sortie : 1920x1080, un facteur (2, 0.5x) ; vide = la taille du rendu |
scalefilter | écrite seulement quand elle n'a plus sa valeur par défaut | filtre de mise à l'échelle : lanczos, bicubic, bilinear, area ou neighbor |
loudnorm | écrite seulement quand elle n'a plus sa valeur par défaut | normalisation du son en LUFS, par exemple -16 (0 ou off = aucune) |
title | écrite seulement quand elle n'a plus sa valeur par défaut | texte dessiné au milieu de l'image pendant les premières secondes |
credit | écrite seulement quand elle n'a plus sa valeur par défaut | texte dessiné en bas à gauche pendant les premières secondes |
titledur | écrite seulement quand elle n'a plus sa valeur par défaut | durée en secondes de title et credit (3 par défaut) |
post | écrite seulement quand elle n'a plus sa valeur par défaut | effets de post-traitement, par ex. bloom:0.4,grain,vignette (sharpen chroma bloom contrast saturation hue vignette grain ; quantité après les deux-points) |
lut | écrite seulement quand elle n'a plus sa valeur par défaut | LUT couleur au format .cube appliquée après les effets (1D ou 3D, chemin relatif au shader) |
L'édition Pro ajoute ses propres clés (scène 3D, signaux et données, couleur et qualité, habillage et diffusion, performance) : elles sont listées dans la fenêtre des réglages Pro, un champ par clé.