Forum Astuces.divers [Terminal] First In First Out

Posté par (site web personnel) .
Étiquettes : aucune
0
11
juin
2004
Les fifo permettent toutes sortes d'applications. Voici un exemple simple, qui pourra donner des idées:

$ mkfifo test.wav
$ mpg321 test.mp3 -w test.wav
rien ne se passe. mpg321 est en pause.
$ aplay test.wav
et le cpu se met en route...
  • # si quelqu un a compris

    Posté par . Évalué à 2.

    je n ai rien compris a l astuce, qqun peut m expliquer?
    • [^] # Re: si quelqu un a compris

      Posté par . Évalué à 1.

      L'auteur de l'astuce voulait montrer l'utilisation des "pipes". On peut se representer un "pipe" comme une sorte de tunnel avec une entrée et une sortie.

      $ mkfifo test.wav : crée un fichier vide nommé test.wav qui va pouvoir être utilisé par les applications.

      $ mpg321 test.mp3 -w test.wav : mpg321 va transformer le fichier mp3 en fichier wav lisible par aplay. Comme le fichier test.wav a été créé comme "pipe", mpg321 attend que quelqu'un demande l'accès en lecture au fichier pour commencer la transformation du fichier test.mp3 en fichier wav.

      $ aplay test.wav : aplay va faire un accès en lecture sur le fichier "pipe" test.wav et donc mpg321 va commencer à lancer la transformation.

      Je me sers des pipe sous Unix (HP_UX) pour pallier les limitations sur la compression par Gzip des ficheirs de plus de 2 Gigos : j'exporte des dumps de bases, tout en les compressant à la volée...
  • # Stream...

    Posté par . Évalué à 2.

    Ne peut-on pas streamer de la musique ou du son entre deux machines, comme ça ?

    J'ai déjà vu passer ça je ne sais plus où, il s'agit de créer une fifo et de rediriger un flux sonore dedans, comme dans l'exemple de la présente astuce (mpg321, par ex.).
    Ensuite, on exporte par NFS, SMB, etc... , le répertoire qui contient cette fifo; enfin, on monte ce partage sur une machine distante. il ne reste plus qu'a lire la fifo sur la machine distante (Comme ici avec aplay)...

    Je devine qu'il doit y avoir d'autre applications plus sympa, des idées ?
    • [^] # Re: Stream...

      Posté par . Évalué à -1.

      Il me semble que pour faire cela les sockets sont plus adaptées..
    • [^] # Re: Stream...

      Posté par . Évalué à 1.

      Dans le genre un nc (netcat) peut aussi faire des merveilles.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.