Outils pour utilisateurs

Outils du site


tutoriels:conversion_par_lot_avec_vlc

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriels:conversion_par_lot_avec_vlc [2015/05/06 18:24]
luc
tutoriels:conversion_par_lot_avec_vlc [2015/05/06 20:19] (Version actuelle)
luc
Ligne 33: Ligne 33:
  CALL SET _newnm=%%_firstbit:%_qt%=%%  CALL SET _newnm=%%_firstbit:%_qt%=%%
  SET _commanm=%_newnm:,=_COMMA_%  SET _commanm=%_newnm:,=_COMMA_%
- CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --intf dummy %1 --sout=#transcode{acodec="s16l",ab="128",channels="2",samplerate"44100"}:standard{access="file",mux="wav",dst="%_commanm%.wav"} vlc://quit+ CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --intf dummy %1 --sout=#transcode{acodec="s16l",ab="128",channels="2",samplerate="44100"}:standard{access="file",mux="wav",dst="%_commanm%.wav"} vlc://quit
  ECHO fichier %_num%/%_count% converti  ECHO fichier %_num%/%_count% converti
  SET /A _num+=1  SET /A _num+=1
Ligne 62: Ligne 62:
 <code>FOR %%G IN (*.m4a.wav*) DO (CALL :SUB_RENAME "%%G")</code> est une boucle qui va appeler la routine qui va renommer les fichiers créés et les mettre dans le répertoire ''cdda''. La routine reçoit un paramètre lors de son appel. <code>FOR %%G IN (*.m4a.wav*) DO (CALL :SUB_RENAME "%%G")</code> est une boucle qui va appeler la routine qui va renommer les fichiers créés et les mettre dans le répertoire ''cdda''. La routine reçoit un paramètre lors de son appel.
 <code>GOTO :eof</code> pour sortir du fichier de commandes à la fin du traitement. <code>GOTO :eof</code> pour sortir du fichier de commandes à la fin du traitement.
-=== Routine de conversion === +=== Routine pour convertir === 
-<code> SET _firstbit=%1 +<code>SET _firstbit=%1 
- SET _qt="</code> récupère le paramètre passé à la routine et le place dans une variable. La deuxième variable contient un guillemet double.+SET _qt="</code> récupère le paramètre passé à la routine et le place dans une variable. La deuxième variable contient un guillemet double.
 <code> CALL SET _newnm=%%_firstbit:%_qt%=%%</code>L'appel à ''SET'' par l'intermédiaire de ''CALL'' autorise l'analyse de sous-chaîne dans une variable.\\ Ici, la variable ''_newnm'' va contenir le contenu de la variable ''_firstbit'' dans lequel les occurrences du contenu de la variable ''_qt'' seront remplacées par rien. La syntaxe est ''%variable:ChaineATrouver=NouvelleChaine%''. <code> CALL SET _newnm=%%_firstbit:%_qt%=%%</code>L'appel à ''SET'' par l'intermédiaire de ''CALL'' autorise l'analyse de sous-chaîne dans une variable.\\ Ici, la variable ''_newnm'' va contenir le contenu de la variable ''_firstbit'' dans lequel les occurrences du contenu de la variable ''_qt'' seront remplacées par rien. La syntaxe est ''%variable:ChaineATrouver=NouvelleChaine%''.
 <code>SET _commanm=%_newnm:,=_COMMA_%</code> remplace les caractères '','' (virgule) par le texte ''_COMMA_'' afin de ne pas perturber la commande de conversion, le caractère '','' (virgule) ayant une signification particulière. <code>SET _commanm=%_newnm:,=_COMMA_%</code> remplace les caractères '','' (virgule) par le texte ''_COMMA_'' afin de ne pas perturber la commande de conversion, le caractère '','' (virgule) ayant une signification particulière.
 <code>CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --intf dummy %1 <code>CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --intf dummy %1
- --sout=#transcode{acodec="s16l",ab="128",channels="2",samplerate"44100"}+ --sout=#transcode{acodec="s16l",ab="128",channels="2",samplerate="44100"}
  :standard{access="file",mux="wav",dst="%_commanm%.wav"}  :standard{access="file",mux="wav",dst="%_commanm%.wav"}
  vlc://quit</code> appelle le programme externe VLC. Le chemin d'accès est à modifier en fonction du système.\\  vlc://quit</code> appelle le programme externe VLC. Le chemin d'accès est à modifier en fonction du système.\\
 L'option ''--intf dummy'' démarre VLC avec l'interface //dummy// c'est à dire aucune.\\ L'option ''--intf dummy'' démarre VLC avec l'interface //dummy// c'est à dire aucune.\\
-Le paramètre ''%1'' ouvre le fichier dont le chemin est contenu dans la variable ''%1'' c'est à dire celle passée en paramètre à la routine.+Le paramètre ''%1'' ouvre le fichier dont le chemin est contenu dans la variable ''%1'' c'est à dire celle passée en paramètre à la routine.\\ 
 +L'option ''--sout='' définit la chaîne de sortie du flux.\\ 
 +  * ''#transcode{acodec="s16l",ab="128",channels="2",samplerate="44100"}'' indique que VLC va transcoder le flux d'entrée en utilisant le codec audio **s16l** (celui utilisé pour le wav), avec un débit de **128**kbit/s, en stéréo et une fréquence d'échantillonnage de **44100**Hz. 
 +  * '':standard{access="file",mux="wav",dst="%_commanm%.wav"}'' indique à VLC d'utiliser une sortie standard en utilisant la méthode de sortie **file** (pour écrire un fichier), en utilisant le multiplexeur **wav** et la destination sera **%_commanm%.wav**. Le script remplace à la volée ''%_commanm%'' par le contenu de la variable. 
 +  * ''vlc:%%//%%quit'' indique à VLC de fermer son programme lorsque le travail est terminé. 
 + 
 +<code>ECHO fichier %_num%/%_count% converti 
 + SET /A _num+=1</code> pour afficher la progression de la conversion. Puis la variable indiquant le numéro de fichier est incrémentée. 
 + 
 +=== Routine pour renommer === 
 +<code>SET _origfnm=%1</code> récupère le paramètre passé à la routine et le place dans une variable. 
 +<code>SET _origfpath=%~dp1</code> ne conserve que le lecteur et le chemin du fichier du paramètre ((<code>%~I         - étend %I en supprimant les guillemets (") 
 +%~fI        - étend %I en nom de chemin d'accès reconnu 
 +%~dI        - étend %I en lettre de lecteur uniquement 
 +%~pI        - étend %I en chemin d'accès uniquement 
 +%~nI        - étend %I en nom de fichier uniquement 
 +%~xI        - étend %I en extension de fichier uniquement 
 +%~sI        - chemin étendu contenant uniquement des noms courts 
 +%~aI        - étend %I en attributs du fichier 
 +%~tI        - étend %I en date/heure du fichier 
 +%~zI        - étend %I en taille du fichier 
 + 
 +Vous pouvez combiner les modificateurs pour obtenir des résultats composés : 
 +%~dpI       - étend %I en lettre de lecteur et chemin d'accès uniquement 
 +%~nxI       - étend %I en nom de fichier et extension uniquement 
 +%~fsI       - étend %I en nom de chemin complet avec noms courts uniquement 
 +%~ftzaI     - étend %I en DIR comme ligne en sortie</code>)). 
 +<code>SET _endbit=%_origfnm:*.m4a=%</code> ne garde que la partie du nom de fichier après //m4a//. 
 +<code>CALL SET _newfilenm=%%_origfnm:.m4a%_endbit%=.wav"%%</code> remplace l'extension du fichier par ''.wav'' et ajoute un guillemet double. 
 +<code>CALL SET _newfilenm=%%_newfilenm:%_origfpath%=%%</code> supprime le chemin pour ne garder que le nom de fichier. 
 +<code>SET _newfilenm=%_newfilenm:_COMMA_=,%</code> remplace le texte ''_COMMA_'' par une '','' (virgule) pour obtenir le nom de fichier d'origine. 
 +<code>COPY %1 .\cdda\%_newfilenm% 
 +DEL %1</code> copie le fichier dans le sous-répertoire ''cdda'' en lui affectant un nouveau nom puis efface le fichier transcodé. 
 + 
 +==== Pour aller plus loin ==== 
 +Documentation de VLC pour l'utilisation en ligne de commande [[https://wiki.videolan.org/Documentation:Command_line/|ici]].\\ 
 +Conversion vers le format **wav** avec VLC [[https://wiki.videolan.org/WAVE|ici]]. 
tutoriels/conversion_par_lot_avec_vlc.1430929469.txt.gz · Dernière modification: 2015/05/06 18:24 de luc