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
tutoriel:extraire_piste_audio_dvd [Le 23/08/2011, 12:02]
77.198.121.160 [Syntaxe d'extraction]
tutoriel:extraire_piste_audio_dvd [Le 11/09/2022, 12:18] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>Maverick ​audio dvd tutoriel}}+{{tag>Bionic Xenial tutoriel ​audio dvd}}
 ---- ----
 ====== Extraire une piste audio d'un DVD ====== ====== Extraire une piste audio d'un DVD ======
  
-Il est possible d'​extraire la bande son d'un DVD, par piste ou par chapitre, en utilisant la ligne de commande. ​+Il est possible d'​extraire la bande son d'un DVD, par piste ou par chapitre, en utilisant la ligne de commande.
  
 Si vous n'​êtes pas à l'aise avec la ligne de commande, orientez-vous vers le logiciel [[:xcfa]] qui propose les mêmes fonctionnalités,​ mais via une interface graphique. Si vous n'​êtes pas à l'aise avec la ligne de commande, orientez-vous vers le logiciel [[:xcfa]] qui propose les mêmes fonctionnalités,​ mais via une interface graphique.
Ligne 11: Ligne 11:
   * Disposer des [[:​sudo|droits d'​administration]].   * Disposer des [[:​sudo|droits d'​administration]].
   * Disposer d'une connexion à Internet configurée et activée.   * Disposer d'une connexion à Internet configurée et activée.
-  * Etre en mesure de [[:​lire_un_dvd|lire le DVD]]. +  * Être en mesure de [[:​lire_un_dvd|lire le DVD]]. 
-  * Avoir [[:tutoriel:​comment_installer_un_paquet#​installer_un_paquet_present_dans_les_depots_recommande|installé les paquets]] **[[apt://lsdvd,transcode|lsdvd et transcode]]**.+=====Installation===== 
 +<​note>​Transcode n'est plus disponible dans les dépôts officiels depuis ​[[:Focal]]((https://packages.ubuntu.com/​search?​suite=default&​section=all&​arch=any&​searchon=names&​keywords=transcode)).</​note>​
  
-===== Identification des pistes ​=====+[[:​tutoriel:​comment_installer_un_paquet|Installez les paquets]] **[[apt>​lsdvd,​transcode|lsdvd et transcode]]**. 
 +=====Utilisation===== 
 + 
 +==== Identification des pistes ====
  
 Afin d'​identifier la piste audio à extraire, insérez le DVD dans votre lecteur puis, dans la [[:​console]],​ tapez la commande lsdvd : Afin d'​identifier la piste audio à extraire, insérez le DVD dans votre lecteur puis, dans la [[:​console]],​ tapez la commande lsdvd :
 <code bash>​lsdvd</​code>​ <code bash>​lsdvd</​code>​
  
-Le résultat de la commande est alors : +Le résultat de la commande est alors :
 <​code>​ <​code>​
 libdvdread: Using libdvdcss version 1.2.10 for DVD access libdvdread: Using libdvdcss version 1.2.10 for DVD access
Ligne 28: Ligne 32:
 </​code>​ </​code>​
  
-Les informations délivrées sont les suivantes : +Les informations délivrées sont les suivantes :
   * Le nom du DVD, monté dans l'​[[:​arborescence]] du système de fichiers à l'​emplacement ///​media/​NOM_DU_DVD//​ ;   * Le nom du DVD, monté dans l'​[[:​arborescence]] du système de fichiers à l'​emplacement ///​media/​NOM_DU_DVD//​ ;
   * Le premier titre ne contient qu'un chapitre, d'une durée de 13 secondes (qui correspond à l'​introduction du DVD) ;   * Le premier titre ne contient qu'un chapitre, d'une durée de 13 secondes (qui correspond à l'​introduction du DVD) ;
   * Le second titre contient 18 chapitres pour une durée totale de 1h15 (qui correspondent aux musiques). C'est ce titre qu'il faut utiliser pour extraire les musiques.   * Le second titre contient 18 chapitres pour une durée totale de 1h15 (qui correspondent aux musiques). C'est ce titre qu'il faut utiliser pour extraire les musiques.
  
-===== Syntaxe d'​extraction ​=====+==== Syntaxe d'​extraction ====
  
-Le logiciel transcode est capable d'​extraire les pistes du DVD et de les transcoder en fichiers audio. Il dispose à cet effet de nombreuses options, sa [[http://​www.transcoding.org/​cgi-bin/​transcode?​Transcode_Command_Line_Options|syntaxe]] est donc relativement complexe. ​+Le logiciel transcode est capable d'​extraire les pistes du DVD et de les transcoder en fichiers audio. Il dispose à cet effet de nombreuses options, sa [[http://​www.transcoding.org/​cgi-bin/​transcode?​Transcode_Command_Line_Options|syntaxe]] est donc relativement complexe.
  
-Voici la commande à utiliser pour extraire la troisème ​piste du second chapitre au format mp3 : +Voici la commande à utiliser pour extraire la troisième ​piste du second chapitre au format mp3 :
  
 <code bash>​transcode -i /​media/​NOM_DU_DVD/​ -x dvd,dvd -T2,3 -a 0 -y null,tcaud -m /​home/​omnisilver/​Musique/​DVD/​Live3.mp3</​code>​ <code bash>​transcode -i /​media/​NOM_DU_DVD/​ -x dvd,dvd -T2,3 -a 0 -y null,tcaud -m /​home/​omnisilver/​Musique/​DVD/​Live3.mp3</​code>​
  
-Les arguments ont le rôle suivant : +Les arguments ont le rôle suivant :
   * -i : indique le média à importer dans l'​arborescence de votre système;   * -i : indique le média à importer dans l'​arborescence de votre système;
   * -x : le type de média;   * -x : le type de média;
Ligne 48: Ligne 52:
   * -y : le format de sortie vidéo et audio (soit null car nous ne voulons pas de vidéo, et tcaud est le nom du module convertissant la musique en le mp3);   * -y : le format de sortie vidéo et audio (soit null car nous ne voulons pas de vidéo, et tcaud est le nom du module convertissant la musique en le mp3);
   * -m : le nom de fichier de sortie.   * -m : le nom de fichier de sortie.
 +
 +**Syntaxe de 1 commande pour plusieurs pistes à la fois:**
 +Pour extraire les 18 pistes du titre 2, en 18 fichiers (par exemple de format libre .ogg), en une seule ligne de commande:
 +
 +<​code>​for i in {1..18};do transcode -x null,dvd -y null,tcaud -i /dev/sr0 -T 2,$i,1 -a 0 -E 44100,16,2 --lame_preset medium -m /​home/​BIBI/​Musique/​CONCERT/​piste${i}.ogg;​ done</​code>​
 +
 +où les arguments utilisés sont:
 +  * -T 2    : pour sélectionner le titre 2
 +  * for i in {1..18};​do ​   : extraire depuis la piste 1 jusqu'​à la piste 18
 +  * --lame_preset medium: ​     qualité moyenne. Pour une meilleure qualité, remplacer medium par standard ou par extreme (attention la taille du fichier généré augmente beaucoup avec la qualité, ainsi que le temps mis pour encoder)
 +  * piste${i}.ogg :      va générer un fichier piste1.ogg, puis ensuite un fichier piste2.ogg, etc ...
 +
 +Le chemin /home/... est à adapter à votre propre chemin.
  
 A vous de modifier les paramètres de ces arguments pour obtenir le résultat que vous désirez (fichier ogg, etc.). A vous de modifier les paramètres de ces arguments pour obtenir le résultat que vous désirez (fichier ogg, etc.).
Ligne 53: Ligne 70:
 Pour les types de fichiers non gérés nativement par transcode, il est possible d'​extraire au format WAV (sans perte) et de réencoder dans une deuxième étape, par exemple à l'aide de l'​utilitaire en ligne flac (FLAC est un format de compression audio présentant l'​avantage d'​être sans pertes), lancé dans le répertoire contenant les fichiers wav. Pour les types de fichiers non gérés nativement par transcode, il est possible d'​extraire au format WAV (sans perte) et de réencoder dans une deuxième étape, par exemple à l'aide de l'​utilitaire en ligne flac (FLAC est un format de compression audio présentant l'​avantage d'​être sans pertes), lancé dans le répertoire contenant les fichiers wav.
  
-Ce qui donne ici, à considérer que lsdvd -a a permis d'​identifier le titre TITRE, angle ANG (en général:​1),​ audio AUD (choisir, autant que possible, la piste stéreo, idéalement LPCM si elle existe), comptant CHAP chapitres (remplacer par les vraies valeurs dans la ligne de commande)... comme celui dont on veut extraire l'​audio en wav (fichiers XXX_01.wav...) avant de les convertir en flac:+Ce qui donne ici, à considérer que lsdvd -a a permis d'​identifier le titre TITRE, angle ANG (en général:​1),​ audio AUD (choisir, autant que possible, la piste stéréo, idéalement LPCM si elle existe), comptant CHAP chapitres (remplacer par les vraies valeurs dans la ligne de commande)... comme celui dont on veut extraire l'​audio en wav (fichiers XXX_01.wav...) avant de les convertir en flac:
  
 <code bash>​for((x=1;​ x<=CHAP; x++)) do transcode -i /dev/dvd -x dvd -T TITRE,​$x,​ANG -a AUD -y wav -m XXX_$x.wav;​done <code bash>​for((x=1;​ x<=CHAP; x++)) do transcode -i /dev/dvd -x dvd -T TITRE,​$x,​ANG -a AUD -y wav -m XXX_$x.wav;​done
Ligne 60: Ligne 77:
 Ceci donnera en sortie les mêmes fichiers compressés sans perte, extension .flac, avec le meilleur ratio de compression (--best). Ceci donnera en sortie les mêmes fichiers compressés sans perte, extension .flac, avec le meilleur ratio de compression (--best).
  
-A noter que l'​extraction de pistes audio de DVD video (concerts...) va généralement donner des fichiers musicaux 16bits (jusque là, OK!) mais échantillonnés à 48kHz. Ceci pose problème à pas mal de balladeurs ​qui n'​acceptent en général pas des fréquences d'​échantillonnage supérieures à celle du CD audio (44.1kHz)!+A noter que l'​extraction de pistes audio de DVD video (concerts...) va généralement donner des fichiers musicaux 16bits (jusque là, OK!) mais échantillonnés à 48kHz. Ceci pose problème à pas mal de baladeurs ​qui n'​acceptent en général pas des fréquences d'​échantillonnage supérieures à celle du CD audio (44.1kHz)!
  
-Il va donc faloir ​dans ce cas passer par une étape intermédiaire de ré-échantillonnage,​ qui est assez problématique avec le ratio "​tordu"​ 48/44.1 (entre 96kHz, utilisé pour les master audio et les 48kHz classiques sur DVD, le facteur entier 2 serait par exemple bien plus facile à gérer). Tous les utilitaires permettant cette opération ne sont hélas pas tous égaux, en particulier pour ces deux fréquences.+Il va donc falloir ​dans ce cas passer par une étape intermédiaire de ré-échantillonnage,​ qui est assez problématique avec le ratio "​tordu"​ 48/44.1 (entre 96kHz, utilisé pour les master audio et les 48kHz classiques sur DVD, le facteur entier 2 serait par exemple bien plus facile à gérer). Tous les utilitaires permettant cette opération ne sont hélas pas tous égaux, en particulier pour ces deux fréquences.
  
 Le meilleur existant (en 2011) dans le monde libre n'est en plus hélas pas packagé sous Ubuntu. Il s'agit de ssrc, disponible sur le site de son auteur: Le meilleur existant (en 2011) dans le monde libre n'est en plus hélas pas packagé sous Ubuntu. Il s'agit de ssrc, disponible sur le site de son auteur:
Ligne 82: Ligne 99:
 Le mieux étant bien entendu de scripter l'​affaire,​ ssrc n'​acceptant qu'un fichier unique en entrée (pas de wildcard...):​ Pas très convivial, mais c'est le prix à payer pour avoir le meilleur down-sampling libre existant. Le mieux étant bien entendu de scripter l'​affaire,​ ssrc n'​acceptant qu'un fichier unique en entrée (pas de wildcard...):​ Pas très convivial, mais c'est le prix à payer pour avoir le meilleur down-sampling libre existant.
  
-Par exemple, si on a extrait une suite de fichiers XXX.wav dans un répertoire avec transcode, le script suivant (fichier à sauver sous ssrc44k par exemple et à rendre ​executable: chmod +r ssrc44k) placé sous son home appelé dans ce repertoire ​d'​extraction (~/ssrc44k) va downsampler en XXX_44k.wav les fichiers d'​origine,​ les renommer avec le nom d'​origine (attention, ceux en 48kHz seront perdus, travailler au besoin sur une copie ou modifier le script) et en faire des flac, avant de supprimer les wav qui ne servent plus à rien, flac étant sans perte donc parfait pour l'​archivage (et reconversion sur demande):+Par exemple, si on a extrait une suite de fichiers XXX.wav dans un répertoire avec transcode, le script suivant (fichier à sauver sous ssrc44k par exemple et à rendre ​exécutable: chmod +r ssrc44k) placé sous son home appelé dans ce répertoire ​d'​extraction (~/ssrc44k) va downsampler en XXX_44k.wav les fichiers d'​origine,​ les renommer avec le nom d'​origine (attention, ceux en 48kHz seront perdus, travailler au besoin sur une copie ou modifier le script) et en faire des flac, avant de supprimer les wav qui ne servent plus à rien, flac étant sans perte donc parfait pour l'​archivage (et reconversion sur demande):
 <code bash>#​!/​bin/​bash <code bash>#​!/​bin/​bash
 #flac -d *.flac # Set this line if we have to decode flac to wav before downsample #flac -d *.flac # Set this line if we have to decode flac to wav before downsample
Ligne 96: Ligne 113:
 \rm -rf 44k_*.wav # Set this to autoremove intermediate 44k wav files</​code>​ \rm -rf 44k_*.wav # Set this to autoremove intermediate 44k wav files</​code>​
  
-Seul bémol: ssrc ne semble pas aimer les encodages DRC que l'on retrouve parfois (lsdvd -a l'​indique au chapitre "​quantization"​)il lui faut des échantillons 8/16/24 bits.+Seul bémol: ssrc ne semble pas aimer les échantillons "​drc" ​que l'on retrouve parfois (lsdvd -a l'​indique au chapitre "​quantization", ​en lieu et place des habituels "16 bits"​):​ Il lui faut des échantillons 8/16/24 bits.
  
 ===== Voir aussi ===== ===== Voir aussi =====
Ligne 102: Ligne 119:
  
   * **(en)** [[http://​www.transcoding.org/​cgi-bin/​transcode?​Transcode_Wiki|Site officiel de l'​outil Transcode]];​   * **(en)** [[http://​www.transcoding.org/​cgi-bin/​transcode?​Transcode_Wiki|Site officiel de l'​outil Transcode]];​
-  * **(fr)** [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=362504|Une assistance sur le forum d'​ubuntu-fr]] (qui m'a permis de mettre à jour la syntaxe devenue obsolète)+  * **(fr)** [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=362504|Une assistance sur le forum d'​ubuntu-fr]] (qui m'a permis de mettre à jour la syntaxe devenue obsolète)
  
 ---- ----
  • tutoriel/extraire_piste_audio_dvd.1314093734.txt.gz
  • Dernière modification: Le 15/12/2011, 15:21
  • (modification externe)