home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ST-Computer Leser 1998 October
/
STC_CD_10_1998.iso
/
MUSIK
/
MP_STE
/
FRANCAIS
/
SLIDSHOW.FRA
< prev
next >
Wrap
Text File
|
1998-09-26
|
14KB
|
358 lines
MP_STE: SLIDE-SHOWS et génération de Quick Time, AVI, FLM ou GIF
╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣
Comment lancer un slideshow?
╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣
Il suffit de choisir un fichier batch au lieu d'une animation (il
est demandé de conserver BAT comme extension de ces fichiers).
Comment générer une animation?
╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣
Comme pour un slideshow, il faut utiliser un fichier BAT qui doit
contenir la ligne 'o=chemin\fichier' indiquant le nom de l'animation à
créer.
En cliquant simplement sur Go!, vous obtiendrez un slideshow, il
faut valider votre clic par la touche 'Alt' pour lancer la création d'une
animation.
C'est le type d'images du slideshow qui détermine le type
d'animation créé:
tga -> Quick Time (MOV) en RLE16 (avec un son éventuel)
img -> Quick Time (MOV) en RLE8 (avec un son éventuel)
ou (*) Video for Windows (AVI) en RLE8 (avec son éventuel)
gif -> Animation GIF
degas -> FLM étendu
néochrome ->FLM étendu
(*): le format par défaut avec img est le MOV, pour générer une
animation AVI, il faut utiliser 'o=#chemin\fichier' (ajout du # juste
après le égal).
Comment créer un fichier BATCH (BAT) pour un slideshow?
╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣
Un fichier BATCH est en fait un fichier texte qui doit contenir
trois sections:
- la signature
- l'en-tête
- les données
Seule la signature doit apparaitre sur la première colonne de la
première ligne, pour les autres, les espaces et les tabulations sont
autorisés. Il ne doit y avoir qu'une commande par ligne, les lignes
commençant par ';' sont des commentaires. La taille du fichier est limitée
à 12488 octets (largement suffisant).
La signature
╣╣╣╣╣╣╣╣╣╣╣╣
Un mot qui doit être sur la première colonne de la première ligne:
M_PLAYER (ou m_player).
L'en-tête
╣╣╣╣╣╣╣╣╣
Commence sur la seconde ligne et fournit des infos générales sur
le slideshow:
w=xxxx la largeur des images
h=xxxx la hauteur des images
c=xxxx la compression (type d'image):
tga2 pour TGA 2 non compressé (24 ou 16 bits)
ximg pour IMG avec l'extension 'XIMG' 256 couleurs
gif8 pour gif87a ou gif89a
dega pour degas 320x200x16
neoc pour néochrome 320x200x16
b=xxxx taille du plus grand fichier image à charger
Ces quatre premiers paramètres doivent toujours apparaître, ceux
qui suivent peuvent être omis dans certains cas (doivent apparître pour
générer une animation):
t=xxxx temps en 1/200 de seconde pour une image. Avec le GIF,
c'est le temps d'attente entre deux images, en précisant 0
ici, les GIFs ne contiendront pas les extensions de delai.
f=xxxx nombre d'images (frames) pour le slideshow
o=file_path nom complet du fichier d'animation à générer (MOV,
FLM ou GIF) (o comme OUTPUT), pour générer un AVI
(ximg uniquement), il faut ajouter un # devant
file_path.
s=file_path nom complet du fichier son à ajouter à l'animation
MOV (WAV ou AVR, 8/16 bits, mono/stéréo). Ignoré
pour les animations GIF. Pour créer un MOV/AVI,
les fréquences doivent être 11025, 22050 ou 44100,
pour un FLM 12517, 25033, 50066 à +/-2%. Le 16
bits est interdit pour les FLMs.
Si 's=' est présent, alors 't=' est ignoré et le timing des images
est calculé grâce à la durée totale du son.
q=x qualité de compression (1 à 5), la valeur par défaut est 5
(5 bits par couleur), on peut la réduire à 1, mais
l'affichage perd en qualité (par contre, on gagne en
taille et en rapidité). Ce paramètre n'est utilisé que dans
la génération d'un MOV 16 bits et sert à fixer la
précision pour décider si un pixel a changé de couleur ou
non. Inutile avec un GIF ou FLM.
k=xxxx indique la fréquence des images-clé (Key-frames), par
exemple, avec k=5, les images 5, 10, 15, 20... seront des
images clé (voir plus loin). Inutile avec un GIF ou FLM.
r=xxxx pour les GIFs uniquement: fixe le nombre de bouclages de
l'animation à réaliser (c'est une extension Netscape). Il
peut varier de 0 à 65535. 0 signifie une boucle infinie,
la valeur 1 signifie pas de bouclage. (Voir FORMATS.DOC
pour cette extension).
L'ordre de ces informations n'est pas fixe. Des espaces au mileu
d'une commande sont interdits (par exemple w=320 ne peut pas s'écrire
w = 320).
Les données
╣╣╣╣╣╣╣╣╣╣╣
Commencent juste après l'en-tête avec un mot clé:
data
Ensuite, chaque ligne est lue et:
si elle commence par un point
-> c'est une commande, on l'exécute
sinon
-> c'est le nom d'un nouveau fichier image, il est chargé,
affiché et devient l'image courante.
Les commandes sont:
.rept xxxx
.endr
repète xxxx fois ce qui se trouve entre rept et endr. Les
boucles peuvent être imbriquées.
.disp
affiche l'image courante.
.getp
charge comme palette celle de l'image suivante (utilisé
uniquement avec des images contenant une palette). Si getp
n'est pas précisé, la palette de l'image sera ignorée (par
exemple si plusieurs images partagent la même palette, un
seul getp est utile avant la première image). Non utilisé
avec les GIFs, mais indispensable avec Degas, NEO, XIMG.
.incr
incrémente un nombre contenu dans le nom de l'image
courante (par exemple, si le nom était C:\IMG\FRM0001.TGA,
il devient C:\IMG\FMR0002.TGA). On obtient le nom de la
nouvelle image courante. Cette commande n'ajoute pas
l'image à l'animation, il faut la faire suivre de .disp.
.decr
idem, mais décrémente.
.stop
termine le slideshow. Cette commande est obligatoire sinon
le programme se bloque.
.keyf
force l'image suivante comme image-clé indépendament de
l'option 'k='. Si cette dernière était utilisée, alors son
compteur est remis à 0. Inutilisé avec les GIFs ou FLMs.
Animations GIF
╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣
Une animation GIF ne peut être créée qu'à partir d'images (ou
d'animations) GIFs. Ces images doivent avoir la même taille globale ainsi
que la même palette globale.
Tout autre bloc que les $2c (images) sont éliminés (les
copyrights, autres infos...). Un seul bloc est toujours ajouté, celui
définit par MP_STE et qui indique le nombre d'images de l'animation créée.
(Voir FORMATS.DOC pour cette extension).
Le délai entre deux images est rangé dans un mot de 16 bits, il
est donc limité à 65535 centièmes de seconde, ce qui limite l'option 't='
à 131070 deux-centièmes de seconde. Toute valeur incorrecte est ramenée à
0 (donc pas de délai...).
MP_STE peut être utilisé pour modifier une animation GIF existante
(pour ajouter l'extension MP_STE ou celle de Netscape, pour modifier les
timings, etc...).
Supposons que mon animation NUKE01.GIF n'ait pas l'extension
MP_STE, une boucle infinie (trop long!) et qu'elle soit rejouée trop vite.
En la lançant une fois (stoppée avec SHIFT en fin de boucle), j'obtiens
dans la boite stats:
taille 64x64, 9 images.
Je peux alors créer ce fichier BATCH:
m_player
w=64 la taille notée
h=64
c=gif8
b=16000 l'anim ne dépasse pas 15xxx octets
t=11 11/200 = 0,055s de délai
f=9 9 images
r=3 3 bouclages seulement (au lieu de l'infini)
o=C:\TGA\nuke.GIF fichier de sortie
data
C:\TGA\nuke01.GIF un seul fichier
.stop
En sortie, j'obtiendrai une nouvelle animation NUKE.GIF avec le
temps modifié, 3 boucles, l'indication du nombre d'images et certainement
moins d'octets puisque tous les copyrights auront disparu.
Animations FLM
╣╣╣╣╣╣╣╣╣╣╣╣╣╣
Elles sont produites à partir d'images ST Basse uniquement, de ce
fait, la compression à elle seule (c=dega ou c=neoc) sous entend la
largeur, la hauteur et la taille des fichiers images, on peut donc
ommettre les lignes 'w=', 'h=', et 'b=' qui seront mises aux valeurs par
défaut:
w=320
h=200
b=33000 (degas 32034 ou 32066 et neochrome 32128).
Un fichier FLM ne peut pas contenir de Key frames, de ce fait
aucune image n'est sautée, il faut vous assurer que le nombre d'images par
seconde que vous imposez est à la portée de votre machine, sinon, l'image
prendra du retard sur le son.
Exemple de fichier BATCH
╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣
(Les commentaires commençant par ** ne font pas partie du fichier!)
** début du fichier
M_Player ** Signature
; comes from a FLI ** commentaire
w=320 ** largeur
h=200 ** hauteur
; 67/200 donne 3 img/s ** commentaire
t=67 ** temps pour 1 image
f=29 ** nombre d'images
c=tga2 ** images TGA 2 non compressées
b=192018 ** taille maxi d'un fichier image
data ** fin d'en-tête, début des données
E:\imprimer\mou00001.tga ** premiere image, l'afficher
.rept 2 ** deux fois le tout
.rept 7 ** 7 fois
.incr ** incremente le nom (00002 à 00008)
.disp ** et affiche
.endr ** boucle
.rept 7 ** 7 autres fois
.decr ** decrémente le nom (00007 to 00001)
.disp ** et affiche
.endr ** boucle
.endr ** deux fois le tout
.stop ** fin du slide show
Cet exemple a affiché:
mou00001.tga
mou00002.tga
...
mou00007.tga
mou00008.tga
mou00007.tga
...
mou00001.tga
Et ceci deux fois.
INCR et DECR ne peuvent fonctionner que si le nom se termine par
des chiffres (par exemple 00001AB.TGA ne marchera pas, ce nom se termine
par AB).
Autre exemple:
╣╣╣╣╣╣╣╣╣╣╣╣╣╣
On peut donner le nom de chaque image si on ne désire pas utiliser
les autres commandes:
M_PLAYER
w=184
h=240
b=50000
c=ximg ** t= omis car il y a un son
f=5
o=#C:\ANIM\US.AVI ** créera un AVI si ALT+GO (#)
s=C:\SOUNDS\KISS.AVR ** avec ce son si Alt+GO
data
.getp ** supposons une palette commune
C:\IMAGES\I.IMG ** chargée une seule fois
C:\IMAGES\YOU.IMG
C:\IMAGES\I.IMG
C:\IMAGES\YOU.IMG
C:\IMAGES\YOU_N_I.IMG
.stop
'.stop' est la seule commande obligatoire.
Erreurs communes (celles que je fais...)
╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣
* Le 'header' d'un MOV est construit AVANT d'ajouter les images,
donc si l'indication f=xxxx est incorrecte, le fichier MOV créé sera
inutilisable (informations contradictoires), le mieux est de le lancer une
fois en slide-show pour vérifier les infos dans la boîte de statistiques.
* même chose pour 'w=' et 'h=', assurez vous que toutes les images
ont bien la même taille.
* Dans le dialogue principal, le message 'Supported' pour les
images est uniquement basé sur votre indication 'c=xxxx'. le programme n'a
encore vérifié aucune image.
* les fréquences acceptées sont celles en standard sur les PC et
MAC: 11025, 22050 and 44100 KHz ou le plus proche possible. Sinon un
message Unsupported sera affiché.
* lors de la création d'un MOV à partir d'images IMG/256 couleurs,
on obtient une animation basée sur une palette. Seulement, un MOV ne peut
contenir qu'une seule palette à la fois, il faut donc absolument que
toutes les images partagent la même. C'est la dernière palette chargée avec
'.getp' qui sera prise en compte dans le MOV. Ceci est également valable
pour l'AVI.
Utilisation des Images-clé (Key frames)
╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣╣
(Inutilisées avec GIF et FLM)
Voici une brève introduction à l'utilité d'insérer des images clé
dans une animation. Il se présente deux cas pour la machine qui relira
l'animation que vous avez créée:
- elle est rapide et donc aucune image n'aura besoin d'être sautée
pour suivre le son en synchronisation. Les key-frames sont alors inutiles.
- elle est lente et certaines images devront être sautées,
l'utilisation des key-frames est plus que recommandé.
Que se passe-t-il lorsqu'une image est sautée:
Afin d'améliorer la compression, seules les différences d'une
image à l'autre sont reconstruites, une image n'est en fait qu'une
reconstruction partielle de l'affichage. Si je saute une image, la
suivante n'aura pas l'arrière-plan qu'elle attendait, l'affichage sera
alors incorrect!
On utilise alors les key-frames comme compromis entre affichage
correct et compression. Ce sont des images qui reconstruisent complètement
l'écran et qui ne dépendent donc pas des images précédentes.
De ce fait, si une image est sautée, il suffit à MP_STE d'attendre
la key-frame suivante pour continuer l'affichage.
Un exemple:
Supposons qu'on utilise k=5 et t=40 (5 images par seconde
justement), et supposons que la machine qui rejoue l'animation ne puisse
afficher que 3 images par seconde, voici ce qui se passe:
première seconde : frames 1,2,3 (4 sautée)
deuxième seconde : frames 5,6,7 (8, 9 sautées)
troisème seconde : frames 10,11,12
etc...
On remarquera que chaque key-frame est à son exacte position dans
le temps et qu'un maximum de frames intermédiaires est affiché entre deux.
Sur une machine un peu plus rapide (4 images/sec), on obtiendrait:
seconde #1: frames 1,2,3,4
seconde #2: frames 5,6,7,8 (9 sautée)
seconde #3: frames 10,11,12,13
etc...
Avec une machine plus rapide, tout serait affiché à 5 images par
seconde.
Une bone valeur est de mettre 2 key-frames par seconde, ainsi
l'affichage se recale toutes les demi-secondes, ce qui doit être assez
satisfaisant.
Une key-frame est plus longue (en octets) puisqu'elle reconstruit
tout, il ne faut pas en abuser. Le mieux est de forcer les key-frames
(commande .keyf) sur les images correspondant à une changement de fond
(dans un film lorsqu'on change de point de vue) car de toutes façons
presque toute l'image sera reconstruite.