#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