automatic translation maschinelle Übersetzung

Add to Technorati Favorites
urzhiata | index

      comment installer ffmpeg avec windows XP

ffmpeg est un utilitaire pour la transformation des fichiers audio-video utilisable en ligne de commande. Bien qu'avec windows, on soit plutôt habitué à utiliser des logiciels à travers des interfaces graphiques, ffmpeg dispose d'un éventail de possibilités très intéressantes, rapides à mettre en oeuvre, et utilisables dans des fichiers batch pour des traitements pars lot. Il est disponible en open-source (donc gratuit) et évolue régulièrement. Comment s'y prendre pour l'installer et l'utiliser?

Télécharger une version de ffmpeg
Les versions récentes de ffmpeg, précompilées pour Windows sont téléchargeables sur ce site : ffmpeg pour windows. Il faut récupérer la plus récente, c'est un fichier compressé au format 7z, format ouvert que l'on peut décompresser en utilisant 7zip, logiciel open-source qui compresse et décompresse également de nombreux autres formats.

Décompresser le fichier de ffmpeg
Une fois décompressé, 3 fichiers sont extraits, à copier dans le répertoire C:/Windows/System32/ pour qu'ils puissent être utilisables depuis n'importe quel dossier :
ffmpeg.exe est le programme principal qui permet de passer les vidéos d'un format à un autre, d'extraire du son, des images fixes, etc. (voir des exemples dans la rubrique pratique)
ffplay.exe est un lecteur simple pour afficher des vidéos
pthreadGC2.dll est une librairie de fonctions utilisées pour faire fonctionner l'ensemble (cf dll sur wikipedia)

Utiliser la ligne de commande
Pour utiliser ffmpeg, il faut d'abord ouvrir une invite de commande, ce qui peut se faire de différentes manières : soit à partir de "démarrer", puis "programme/accessoires/invite de commande"

soit "démarrer/exécuter"
ouvrir une invite de commande, phase 1

puis entrer "cmd" dans la fenêtre qui s'ouvre
ouvrir une invite de commande, phase 2

Pour un usage régulier et bien plus pratique de la ligne de commande, on peut installer l'utilitaire cmdhere.exe téléchargeable parmi les powertoys du site de microsoft. Une fois installé, l'option open command window here est ajouté au menu contextuel des dossiers, ce qui évite d'avoir à se déplacer dans les dossiers. Un autre truc bien pratique : on peut rappeler les dernières commandes tapées, en utilisant la "fléche haut", ce qui évite de retaper les mêmes lignes ou presque en faisant des essais et même faire un copier-coller avec le bouton droit de la souris (ctrl-v ne marchera pas).

Obtenir l'aide et la documentation

Les différentes commandes de ffmpeg sont décrites dans une aide intégrée. Pour l'afficher, on utilise la commande suivante : ffmpeg -h
Les différents codecs et formats de fichiers sont affichables avec : ffmpeg -formats
Il est possible de réunir les deux dans un fichier texte pour avoir une documentation imprimable, en entrant ffmpeg -h > doc.txt puis ffmpeg -formats >> doc.txt (les deux chevrons indiquant que le résultat sera mis à la suite du fichier créé précédemment)

Maintenant vous avez tous éléments pour utiliser ffmpeg!

Dans la rubrique « pratique » de ce site, quelques exemples d'utilisation de ffmpeg :
extraire le son d'un fichier vidéo
transformer une vidéo flv en avi
extraire des images d'une vidéo toutes les X secondes
etc.




Si cet article vous a été utile, aidez à le faire connaître en deux clics : en lui ajoutant une "mark" sur tutmarks (en cliquant sur le chiffre dans le rond bleu!)


      créer une vidéo à partir d'images

Comment réunir une série d'images sous forme de vidéo? ffmpeg permet simplement, à partir d'une suite de fichiers images numérotés, de créer une séquence vidéo dans de nombreux formats. Voila la ligne de commande à utiliser :

pour fabriquer une vidéo au format flash FLV :

ffmpeg -r 25 -an -b 360k -i image-%04d.png -s 360x288 -f flv video.flv

-r 25 : définir le taux à 25 images/secondes
-an : desactiver l'audio
-b 360k : débit pour le flux vidéo, ici 360 kbits/secondes, à définir selon la taille du fichier que l'on souhaite
-i image-%04d.png : "modèle" pour les noms des fichiers image
-s 360x288 : définir les dimensions de la vidéo à obtenir
-f flv : fixer le format de sortie, ici flash vidéo FLV video.flv : nom du fichier vidéo à créer

Avec cette commande, les fichiers images doivent respecter un format bien précis et s'appeler image-0001.png, image-0002.png, etc. C'est ce qui est signifié par "%04d", bien sur on peut l'adapter (par exemple : %02d pour des fichiers de la forme image-02.png). La numérotation des fichiers image doit commencer à un et il ne peut pas y avoir de "trous". Parmi les formats d'image pris en charge par ffmpeg : jpg, tif, bmp, png, etc.

L'inverse est également possible : transformer une vidéo en série d'images



variante : modifier la durée d'affichage des images

Avec la commande précédente, chaque image est affichée pendant 1/25e de secondes. Pour modifier cette durée, il faut changer le nombre d'images par seconde de la vidéo source. Pour que chaque image reste visible une seconde, tout en conservant un taux de 25 images/seconde dans la vidéo finale on peut utiliser la commande suivante :

ffmpeg -r 1 -i image-%04d.png -an -b 360k -s 360x288 -r 25 -f flv video.flv

Pour qu'une image reste affichée 4 secondes, on utiliserait "-r 0.25", à l'inverse pour qu'une image reste un quart de seconde, il faudrait utiliser "-r 4". Cette modification concerne toutes les images de la vidéo, pour fixer séparément la durée d'affichage de chaque image, il faut utiliser ffmpeg avec avisynth



Comment renommer les fichiers par lot pour que leur nom ait le format souhaité (image_0001.jpg, image_0002.jpg) ?

Ant Renamer est un logiciel libre avec de nombreuses fonctions de renommage, en utilisant "énumération" on peut choisir le préfixe du fichier, le nombre de chiffres. Il dispose également de nombreuses autres fonctions de renommage!


      musique pour une balade dans l'espace

Quels disques emmener avec soi pour un trip intergalactique? Même si la question n'est pas d'une urgence extrême, il vaut mieux prévoir quelques galettes à écouter, bloqué dans un champ d'astérïdes ou en attendant la correspondance pour Betelgeuse. Voila de quoi remplir le cabas du routard galactique :

Sounds for the spaceset
Sounds for the spaceset, une collection de mash-ups réalisée par les «Robotic Intergalactic Astro-Artists» de la RIAA, hommage aux pionniers de la musique électronique pour une «excursion glamour dans le système solaire», auxquels se mélangent les voix de quelques créatures bien terrestres. Dans la première catégorie : Dick Hyman, Jean-Jacques Perrey, Esquivel, Bruce Haack, Delia Derbyshire, Vangelis, Joe Meek, Kraftwerk, Pierre Henry, etc. Et pour la seconde : Frank Sinatra, Justin Timberlake, Roxy music, Ella Fitzgerald, Queen et Céline Dion!
=> RIAA, Sounds for the spaceset

Telstar Will Go On - Let It Whip It

Salvador Dali Teaches Rex Harrison How To Say Butterfly


Interplanetary Materials

Interplanetary materials


Comfort Stand est un netlabel qui a produit et diffusé 80 albums, 16 singles et 8 compilations entre 2003 et 2006 (l'ensemble sous forme numérique). Aujourd'hui plus de nouvelles sorties, mais les albums restent disponibles sur leur site. Ils se décrivent, comme une «organisation non-commerciale, pour les artistes et que des artistes font fonctionner». Cette compilation éclectique est produite par Otis Fodder, musicien (membre des Bran Flakes) et animateur d'émissions de radio musicales. => Interplanetary Materials sur le site de Comfort Stand



Si le voyage dans l'espace s'éternise et que l'ennui vous guette, voila de quoi alimenter une nostalgie terrienne : des bandes audio rescapées des poubelles d'Hollywood, enregistrées pendant le tournage de la première série de Star Trek (exactement, ces bandes viennent de la 3e saison). => Trek Bloopers (sur wfmu)

      higurashi

le chant des cigales higurashi (Tanna Japonensis)

via quinn[at]higurashi

      conurb, fragment 2 : the black hole

le Black Hole by EEcue
oscilloscopes
une caméra rapide Marley
divers éléments d'optique
la bibliothèque
Le Black Hole est un surplus de matériel scientifique du Nouveau-Mexique, proche du centre de recherche de Los Alamos, ou furent menées les recherches sur les premières bombes atomiques. Au milieu une caméra rapide Marley de 1944, capable de photographier les explosions nucléaires en prenant 100 000 photos par seconde!

Reportage et photos sous licence CC par Dave Bullock / eecue (voir son site pour plus de détails et de photos)


      communication entre ChucK et Processing par OSC

Voila deux scripts qui permettent d'avoir une base minimale afin de faire communiquer processing et chuck par le protocole OSC. L'applet Processing envoie les données qui controlent la synthèse sonore, prise en charge par ChucK. OSC (Open Sound Control) est un protocole qui permet de faire communiquer entre eux instruments de musique électronique, controleurs, ordinateurs et appareils multimedia en partageant des données en temps réel par le réseau local ou par internet. C'est une tentative pour remplacer le format MIDI (implanté en 1983) qui est un peu dépassé aujourd'hui. Contrairement au MIDI, les messages transférés par OSC utilisent une syntaxe symbolique et flexible (à la manière des URL).

Pour utiliser OSC avec Processing, il faut installer la librairie oscP5 (à télécharger : oscP5). Ensuite 2 lignes au début du script permettent de l'utiliser.

Comment lancer les scripts ?

- ouvrir une première fenêtre de commande, lancer chuck avec "chuck --loop"
- ouvrir une seconde fenêtre, et ajouter le script avec "chuck + chuckosc.ck"
- puis démarrer l'applet dans processing

le script processing

Une valeur de fréquence est tirée au hasard 3 fois par secondes et envoyée sous forme de message OSC, sur le port 6449, en UDP

// 6 sept. 2007 / processing 0125 / chuck 1.2.1.0 / oscP5 0.9.0
import oscP5.*;
import netP5.*;

float zefreq = 440;
String oscP5event = "oscEvent";
OscP5 canalOsc;

void setup() {
  size(200,200);
  canalOsc = new OscP5(this, "localhost", 6449, 6543, oscP5event); 
  frameRate(3);
}

void draw() {
  OscMessage message = new OscMessage("/processing" + "/");
  zefreq = 440 + random(0, 200);
  message.add(zefreq);
  canalOsc.send(message);
}


le script chuck

Le script est en attente permanente, en écoute sur le port 6449, chaque fois qu'un évènement est reçu, la fréquence du son est modifiée.

// 6 sept. 2007 / processing 0125 / chuck 1.2.1.0 / oscP5 0.9.0
// nom de l'hote et port par défaut
"localhost" => string hostName;
6449 => int receiverPort;

<<< "port de reception pour les messages OSC:", receiverPort >>>;

// objet OSC pour la réception
OscRecv receiver;
receiverPort => receiver.port;
// commencer l'écoute sur le port
receiver.listen();
// créer une adresse réceptrice des messages, y stocker la valeur de fréquence reçue
receiver.event( "/processing" + "/" + ", f" ) @=> OscEvent oeFreq;

SinOsc s => dac;

while ( true ) {
    // en attente de l'arrivée d'un message OSC
    oeFreq => now;
	
    // capturer le nouveau message
    while ( oeFreq.nextMsg() != 0 ) { 
		oeFreq.getFloat() => s.freq;		
    }
    <<<"nouvelle frequence : ", s.freq() >>>;
}


Télécharger un zip contenant les deux scripts : chuck-processing-osc.zip

Un sniffeur de trafic réseau peut-être utile pour résoudre les problèmes d'échange réseau. Comme Ethereal ne peut pas superviser le trafic local, on peut utiliser AW Ports Traffic Analyzer disponible en version d'essai (limitation à 3Mo de l'enregistrement des logs) mise à jour : bien que ce ne soit pas annoncé sur leur site, la version d'essai a une autre limitation : elle cesse de fonctionner au bout de 15 jours!


      dernières nouvelles de ChucK

Nouvelle version

Depuis le dernier billet sur ChucK, deux nouvelles versions sont sorties, ChucK est actuellement en version «Dracula 1.2.10». Alors quoi de neuf dans ces nouvelles sorties ?
De nouveaux unités génératives (ugens) ont fait leur apparition :
Gestion d'effets dynamiques par l'ugen "dynamics" : des fonctions de limiteur, expandeur, compresseur, noise gate, ducker (voir effets dynamiques sur wikipedia)
Capture d'échantillons en temps réel avec Lisa, Li(ve) Sa(mpling) : pour sampler à la volée du son fabriqué par ChucK, ou capturé depuis le micro
Tables de correspondance (table lookup) : les tables de correspondance permettent d'associer des valeurs, un signal est donné en entrée à la table et la sortie dépendra de ce signal et du contenu de la table

Analyse du son : une nouvelle catégories d'unités, dédiées à l'analyse du son fait son apparition, les Uana :
«Les unités d'analyse (Uana) sont des des blocs de construction, conceptuellement similaires aux unités génératives (Ugen). Ces blocs réalisent des fonctions d'analyse sur un signal sonore ou des métadonnées, et produisent des métadonnées en sortie. Les unités d'analyse peuvent être liées ensemble, ainsi Communauté. Cette différence est symbolisée par le choix d'un nouvel opérateur, l'opérateur upChucK: =^. Une autre différence importante entre les Ugens et les Uanae est que les Uanae réalisent l'analyse uniquement sur demande, par la fonction upchuck().» (d'après uana)
Un document (en anglais) des auteurs de ChucK sur le sujet est disponible : Analysis and Synthesis in chucK (pdf)

téléchargement et autres infos sur le site de ChucK

ChucK & Processing

Arthur Clemens a réalisé et mis à disposition sur son blog (visiblearea) un ensemble de scripts qui permettent de faire dialoguer ChucK et Processing via le protocole OSC (Open Sound Control). Dans ce dispositif, Processing transmet des valeurs pour le volume et la répartition stéréo, et ChucK analyse le spectre sonore et renvoie les valeurs à Processing. L'auteur propose une démonstration ou 4 extraits sonores sont assemblés en fonction des mouvements réalisés par des cercles dans l'animation graphique.


Chuck & Pure data

chuck~ est un plugin externe pour pure-data mis au point par Martin Robinson. Il permet d'intégrer un objet chuck au sein d'un patch pure-data. Les données et le signal sont transmis à l'objet chuck puis repassés à pure-data par l'intermédiaire des unités ADC et DAC de ChucK. => chuck~ (for Pure Data)

S.M.E.L.T.

S.M.E.L.T. (pour Small Musically Expressive Laptop Toolkit) est une boîte à outils de scripts chuck pour faciliter le développement d'instruments interactifs, en utilisant ce qu'il y a de disponible sur tout ordinateur : clavier, souris, trackpad (sur les portables), micro intégré, capteur de choc et de mouvement (sur certains portables). Par exemple, un script est fourni qui permet d'utiliser le micro avec le souffle, à la manière d'une flûte. => SMELT

Communauté

Autour de ChucK, il existe plusieurs listes de discussion : chuck pour les annonces, chuck-users pour les discussions ainsi qu'un wiki (ou l'on peut trouver des exemples, du son, des tutoriels) : chuck community. Les archives des listes sont conservées et accessibles publiquement, on peut également y faire des recherches par requête. Il existe également un forum anglophone sur electro-music.com (forum chuck), parmi les nombreux sujets, un est consacré aux programmes chuck ultra-courts, de la création sonore en une ligne de code! (1 line chuck)