Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/10/2014, à 18:26

Entilore

piper le résultat d'avconf -i

Bonjour,

Je suis en train d'écrire un script en perl pour trier mes musiques. ( Il me semble assez évident que ce genre de script existe déjà, mais j'avais envie d'essayer par moi même)

Ma plus grosse difficulté est la récupération des tags. En cherchant sur internet, la meilleure solution que j'ai trouvée est avconf -i. L'avantage de ce script est qu'il ne dépend pas du format ( j'avais testé avec eyeD3, qui ne me convient pas car ne fonctionne qu'avec les fichiers mp3).

Pour extraire les tags, je souhaitais utiliser une expression régulière. Problème: je n'arrive pas à piper le resultat de l'avconf, il est tout de même affiché dans la console. Exemple avec ce script, qui n'affiche normalement rien :

~$ avconv -i 'NonTrie/01 Rolling In the Deep.m4a' > .tmp
avconv version 9.16-6:9.16-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
  built on Aug 10 2014 18:16:02 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1f82920] max_analyze_duration reached
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'NonTrie/01 Rolling In the Deep.m4a':
  Metadata:
    major_brand     : M4A 
    minor_version   : 0
    compatible_brands: M4A mp42isom
    creation_time   : 1957-03-22 08:20:25
    title           : Rolling In the Deep
    artist          : ADELE
    album_artist    : ADELE
    composer        : Adele Adkins & Paul Epworth
    album           : 21
    genre           : Pop
    track           : 1/12
    disc            : 1/1
    gapless_playback: 0
    date            : 2011-01-21T08:00:00Z
    copyright       : ℗ 2011 XL
    media_type      : 1
  Duration: 00:03:48.15, start: 0.000000, bitrate: 282 kb/s
    Stream #0.0(eng): Audio: aac, 44100 Hz, stereo, fltp, 261 kb/s
    Metadata:
      creation_time   : 1957-03-22 08:20:25
    Stream #0.1: Video: mjpeg, yuvj444p, 600x600 [PAR 72:72 DAR 1:1], 90k tbn
At least one output file must be specified
~$ cat .tmp
~$

Quelqu'un aurait il une solution ( ou explication, je suis preneur aussi ! ) ?

Merci !

Hors ligne

#2 Le 02/10/2014, à 20:40

Postmortem

Re : piper le résultat d'avconf -i

Salut,
avconv semble sortir tout ce texte sur la sortie d'erreur.
Pour mettre la sortie d'erreur dans un fichier :

commande 2> fichier

Pour mettre la sortie d'erreur ET la sortie standard dans un fichier :

commande > fichier 2>&1

Pour envoyer la sortie d'erreur ET la sortie standard vers l'entrée d'une autre commande :

commande 2>&1 | commande

Ajout :
Et pour n'envoyer que la sortie d'erreur vers l'entrée d'une autre commande :

exec 3>&1
commande 2>&1 >&3 | commande
exec 3>&-

Dernière modification par Postmortem (Le 02/10/2014, à 23:02)


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#3 Le 02/10/2014, à 22:58

Entilore

Re : piper le résultat d'avconf -i

Okay, merci beaucoup !

Je me sens con, j'y avais pensé ...

Hors ligne