IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Encodage en MP3 après transcodage [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 401
    Par défaut Encodage en MP3 après transcodage
    Bonjour à tous,

    Je cherche à transcoder des fichiers FLAC en WAV puis à les encoder en MP3 à l'aide de l'encodeur LAME. Le problème n'est pas comment je fais cela mais la façon de l'écrire dans un BAT file. En effet je n'arrive pas à tout faire d'un coup. Mon répertoire principale est LAME_MP3. Dedans j'ai écris les deux .BAT respectifs qui appelent respectivement flac.exe et lame.exe. D'abord TRANSCODE.bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PUSHD %~dp0
    if [%1]==[] goto :eof
    :loop
    flac -d %1
    shift
    if not [%1]==[] goto loop
    pause
    Celui ici utilise le programme flac.exe pour revenir à des fichiers WAV à partir des FLAC dans le répertoire LAME_MP3.

    Ensuite j'encode avec le BAT appelée LAME :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PUSHD %~dp0
    if [%1]==[] goto :eof
    :loop
    lame -b 320 -q0 --add-id3v2 %1 "%~dpn1.mp3"
    shift
    if not [%1]==[] goto loop
    pause
    Le programme LAME encode les WAV et génère des .MP3

    Ce que je cherche à faire c'est tout ceci en un seul BAT mais mettre ensemble les deux codes précédents ne marche pas. Savez-vous comment faire pour tout faire en une fois : FLAC --> WAV puis encodage par lame de tous les WAV obtenus ?

    De plus j'aimerais que les MP3 générés par LAME soient placés dans un répertoire appelé par exemple "result". Comment le faire dans le BAT ? Bref mon problème n'est pas lié à lame ou flac comme vous le voyez.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 401
    Par défaut
    J'ai déjà réussi à tout faire en un seul BAT :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if [%1]==[] goto :eof
    :loop
    flac -d %1
    lame_normal -b 320 -q0 --add-id3v2 "%~dpn1.wav" "%~dpn1.mp3"
    del "%~dpn1.wav"
    shift
    if not [%1]==[] goto loop
    pause
    Cela transcode les FLAC en WAV puis encode le WAV en MP3 en éliminant au passage le WAV utilisé. Il ne reste donc que les FLAC et MP3 dans le répertoire LAME_MP3. Comment pourrais-je toutefois faire en sorte que les MP3 soient écrits au fur et à mesure dans le répertoire "result" sous-répertoire (crée à chaque fois qu'on lance le bat) du répertoire principal LAME_MP3 ?

  3. #3
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    salut,

    avec ton code ça donnerait qqe chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if [%1]==[] goto :eof
    
    if not exist %~dp1result md %~dp1result
    
    :loop
    flac -d %1
    lame_normal -b 320 -q0 --add-id3v2 "%~dpn1.wav" "%~dp1result\%~n1.mp3"
    del "%~dpn1.wav"
    if not [%1]==[] goto loop
    pause
    Tu traite un fichier à la fois ?
    Je ne connais pas les commutateurs pour ta commande "flac" mais
    tu pourrais utiliser une boucle "for" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    @echo off&cls
    if not exist %~dp1result md %~dp1result
    
    for %%a in (*.flac) do (call :transforme "%%a")
    del %~dp1*.wav
    echo TERMINE
    goto end
    
    :transforme
    echo TRAITEMENT DE : %1
    
    ::::ADAPTE LE COMMUTATEUR DE flac POUR LE TRAITEMENT SUR 1 FICHIER
    flac %1
    lame_normal -b 320 -q0 --add-id3v2 "%~dpn1.wav" "%~dp1result\%~n1.mp3"
    
    :end

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 401
    Par défaut
    Bonsoir sachadee et merci pour cette réponse détaillée. J'avoue que je suis assez dépassé par ce langage que je ne comprends pas bien. Pourrais-tu me dire comment tu l'as appris ?

    J'ai donc essayé les codes que tu me proposes. Le premier ne semble pas fonctionner : il ne crée pas de sous-répertoire result dans mon répertoire LAME_MP3 principal. L'erreur est : "can't init output file..." ; en fait le chemin ne semble pas bien écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Can't init outfile 'C:\Users\...\Downloads2\LAME_2013\result\C:\Users\...\Downloads2\LAME_2013\07 - What Can I Do (featuring Kelly Price).mp3'
    Apparemment après result\ il devrait y avoir directement le nom du fichier en MP3 mais j'avoue que je comprends pas du tout comment le modifier.

    Ensuite effectivement, j'aurais toujours plus de un fichier. J'ai essayé ta seconde variante et "transforme" n'est pas trouvé. Cela doit être le commutateur dont tu parles mais je n'ai aucune idée de quoi il s'agit.

  5. #5
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Effectivement il y avait une erreur !

    J'ai corrigé les 2 codes. Reteste et retourne le résultat.

    Maintenant la commande flac comme je te l'ai dis, je ne sais pas les commutateurs qu'elle utilise. Essaye tel quel. Sinon fait un "flac /?"

    pour voir les commutateurs pour le traitement sur un fichier.

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 401
    Par défaut
    Bonsoir et merci à nouveau de ton aide.

    Cette fois les deux codes semblent faire la même chose mais reproduise la même erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Can't init outfile 'C:\Users\...\Downloads2\LAME_2013\result\07 - What Can I Do (featuring Kelly Price).mp3'
    Effectivement le dit MP3 n'existe pas encore ! Le sous-répertoire result n'est pas crée dès le départ. Je pense que le problème est due à cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if not exist %~dp1result md %~dp1result
    Si je comprends bien tu vérifie si le sous-répertoire result du répertoire principal (LAME_MP3 chez moi) existe et le cas échéant tu le crées. En tout cas je pense qu'on peut se concentrer uniquement sur la première variante, la seconde pouvant facilement être fonctionelle si on trouve le problème de la première.

    En fait je crois que le ~dp1 ne "fait rien", il ne renvoie pas au nom de mon répertoire LAME_MP3.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Encodage caractères spéciaux après import csv
    Par snorky94 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/10/2012, 15h27
  2. Encodage de MP3
    Par tintin22 dans le forum Delphi
    Réponses: 2
    Dernier message: 29/06/2007, 20h13
  3. Encodage MP3 /OGG
    Par Invité dans le forum Multimédia
    Réponses: 3
    Dernier message: 26/06/2006, 08h48
  4. Encodage de cd en fichier mp3
    Par clovis dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 08/04/2004, 01h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo