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
encodage_dvd_mkv [Le 30/01/2011, 08:11]
akira86
encodage_dvd_mkv [Le 20/10/2023, 23:02] (Version actuelle)
82.64.107.48 [Déterminer si votre vidéo est entrelacée]
Ligne 21: Ligne 21:
  
  
-===== Solutions alternatives ​ce tutoriel avec interface graphique =====+===== Solutions alternatives ​à ce tutoriel avec interface graphique =====
  
   * [[:​handbrake]]   * [[:​handbrake]]
 +  * [[:dvdrip]]
   * [[:ogmrip]]   * [[:ogmrip]]
-  * [[:​acidrip]]+  * [[:acidrip]] (ne permet pas d'​encoder le son au format AAC) 
 +  * [[:vlc]]
  
  
 ===== Logiciels nécessaires ===== ===== Logiciels nécessaires =====
  
-Nous aurons besoin ​de +Nous aurons besoin ​d'​[[:​tutoriel:​comment_installer_un_paquet|installer ces paquets]] ​
-  * [[apt://mplayer|mplayer]] +  ​* **[[apt>mplayer]]** 
-  * [[apt://​mencoder|mencoder]] +  ​* **[[apt>mencoder]]** (aussi possible avec **[[apt>​ffmpeg]]**) 
-  * [[apt://​ogmtools|ogmtools]] (pour dvdxchap) +  ​* **[[apt>ogmtools]]** (pour dvdxchap) 
-  * [[apt://​vorbis-tools|vorbis-tools]] +  ​* **[[apt>vorbis-tools]]** 
- +  * **[[apt>​x264]]** (pour plus d'​informations: ​[[:​x264|x264]]) (ou peut-etre **[[apt>​libx264-85]]** ?)
-Commencez par installer ​[[:​x264|x264]].+
  
-<note important>​ATTENTION:​ Si vous avez des problèmes de lecture de votre dvd, c'est peut-être qu'il est protégé par CSS : [[http://​doc.ubuntu-fr.org/​lire_un_dvd|Lire un DVD protégé par CSS]]. </​note>​+<note important>​ATTENTION:​ Si vous avez des problèmes de lecture de votre dvd, c'est peut-être qu'il est protégé par CSS : [[lire_un_dvd|Lire un DVD protégé par CSS]]. </​note>​
  
 === OGG Vorbis aoTuV === === OGG Vorbis aoTuV ===
Ligne 44: Ligne 45:
 Vous pouvez utiliser le OGG Vorbis présent par défaut dans Ubuntu. Vous pouvez utiliser le OGG Vorbis présent par défaut dans Ubuntu.
  
-Cependant, une version "​améliorée"​ donne apparemment de meilleurs résultats ; c'est cet encodeur qui est recommandé sur [[http://​wiki.hydrogenaudio.org/​index.php?​title=Recommended_Ogg_Vorbis|hydrogenaudio]].+Cependant, une version "​améliorée"​ donne apparemment de meilleurs résultats ; c'est cet encodeur qui est recommandé sur [[https://​wiki.hydrogenaudio.org/​index.php?​title=Recommended_Ogg_Vorbis|hydrogenaudio]].
  
-L'​installation remplacera votre fichier **usr/​bin/​oggenc**,​ faites-en une copie auparavant.+Nous aurons besoin d'[[:​tutoriel:​comment_installer_un_paquet|installer de nouveaux paquets]] pour rendre la compilation possible : 
 +  * **[[apt>​build-essential]]** 
 +  * **[[apt>​libogg-dev]]** 
 + 
 +Cette installation remplacera votre fichier **usr/​bin/​oggenc**,​ faites-en une copie auparavant.
  
 <​code>​sudo cp /​usr/​bin/​oggenc /​usr/​bin/​oggenc-default</​code>​ <​code>​sudo cp /​usr/​bin/​oggenc /​usr/​bin/​oggenc-default</​code>​
Ligne 74: Ligne 79:
  
 <​code>​mplayer -nocache dvdnav://</​code>​ <​code>​mplayer -nocache dvdnav://</​code>​
- 
-**vobcopy** choisi directement le titre contenant le plus de chapitres pour le copier sur le disque dure. 
- 
-<​code>​vobcopy -l</​code>​ 
  
 ==== Extraire les chapitres ==== ==== Extraire les chapitres ====
Ligne 89: Ligne 90:
 <​code>​mplayer -dumpstream dvd://4 -dumpfile video.vob</​code>​ <​code>​mplayer -dumpstream dvd://4 -dumpfile video.vob</​code>​
  
-Les méta-données (langue ​des piste audio et des chapitre) seront ​perdue+Les méta-données (langues ​des pistes audios ​et des chapitres) seront ​perdues
-Il est donc conseillé de les noté dans un fichier ​text ou autre ; elles sont affiché ​par mplayer via des lignes comme :+Il est donc conseillé de les noter dans un fichier ​texte ou autre ; elles sont affichées ​par ''​mplayer'' ​via des lignes comme :
 <​code>​Flux audio : 0 format : ac3 (5.1) langue : ja aide : 128. <​code>​Flux audio : 0 format : ac3 (5.1) langue : ja aide : 128.
 Flux audio : 1 format : ac3 (5.1) langue : en aide : 129.</​code>​ Flux audio : 1 format : ac3 (5.1) langue : en aide : 129.</​code>​
Ligne 98: Ligne 99:
 Sous-titre ( sid ) : 2 langue : es</​code>​ Sous-titre ( sid ) : 2 langue : es</​code>​
  
-Avant de retirer le DVD de votre lecteur, et si vous souhaité ​extraire les sous-titre du dvd, il est conseillé de sauvegarder les fichiers IFO qu'il contient.+Avant de retirer le DVD de votre lecteur, et si vous souhaitez ​extraire les sous-titres ​du dvd, il est conseillé de sauvegarder les fichiers IFO qu'il contient.
  
 **À partir de maintenant, vous pouvez retirer le DVD.** **À partir de maintenant, vous pouvez retirer le DVD.**
  
-== méthodes alternatives ==+=== méthodes alternatives ​===
  
 Si vous avez des problèmes pour récupérer le fichier vob avec la méthode ci-dessus, vous pouvez essayer avec la commande : Si vous avez des problèmes pour récupérer le fichier vob avec la méthode ci-dessus, vous pouvez essayer avec la commande :
 <​code>​mplayer -nocache -dumpstream dvdnav://4 -dumpfile video.vob</​code>​ <​code>​mplayer -nocache -dumpstream dvdnav://4 -dumpfile video.vob</​code>​
 +=== méthodes plus simples ===
 +Avec l'​outil **vobcopy** qui choisit directement le titre contenant le plus de chapitres pour le copier sur le disque dur.
 +
 +  vobcopy -l
  
 Il existe aussi d'​autres logiciels capables de décoder et copier les dvds sur disque dur ; vous pouvez essayer : Il existe aussi d'​autres logiciels capables de décoder et copier les dvds sur disque dur ; vous pouvez essayer :
-  * [[http://vobcopy.org/projects/​c/​c.shtml|vobcopy]] (détecte automatiquement le titre principal du dvd) +  * [[https://transcoding.org/|transcode]] (complexe à utiliser)
-  * [[http://​transcoding.org/​|transcode]]+
   * dvdbackup   * dvdbackup
  
 ===== Encoder les pistes audio ===== ===== Encoder les pistes audio =====
  
-Dans cette section nous allons extraire et encoder certaines pistes ​audio du vob.+Dans cette section nous allons extraire et encoder certaines pistes ​audios ​du vob.
  
 Cela est utile pour bien comprendre le processus d'​extraction,​ encodage et empaquetage dans le mkv. Cela est utile pour bien comprendre le processus d'​extraction,​ encodage et empaquetage dans le mkv.
-Cependant, il est aussi possible d'​encoder l'​audio et la vidéo en même temps, voir d'​empaqueter le tout dans un mkv en une seul commande. +Cependant, il est aussi possible d'​encoder l'​audio et la vidéo en même temps, voir d'​empaqueter le tout dans un mkv en une seule commande. 
-L'​encodage simultané ​à aussi l'​avantage d'évité ​les désynchronisation ​audio/​vidéo.+L'​encodage simultané ​aussi l'​avantage d'éviter ​les désynchronisations ​audio/​vidéo.
  
-La section [[encodage_dvd_mkv#​encoder_l_audio_et_la_video_simultanement|encoder l'​audio et la vidéo simultanément]] donne les base de cette procédure.+La section [[encodage_dvd_mkv#​encoder_l_audio_et_la_video_simultanement|encoder l'​audio et la vidéo simultanément]] donne les bases de cette procédure.
  
 ==== Méthode utilisant mplayer et oggenc ==== ==== Méthode utilisant mplayer et oggenc ====
  
-Pour lister tous les flux contenus ​dans le fichier **vob**, tapez la commande : +Vous avez normalement déjà déterminé le numéro des pistes audios à extraire ​dans la section [[encodage_dvd_mkv#​extraire_en_vob|Extraire en vob]].
-<​code>​mplayer video.vob -v -vo null -ao null -frames 0 | grep "audio stream:"</​code>​+
  
-Vous obtenez ainsi les numéros des différentes pistes ​audio. Pour lire le fichier **vob** en utilisant une piste audio particulière (ici celle de numéro 128), tapez la commande suivante ​:+Par exemple, si vous voulez sauvegarder la piste japonaise sachant que : 
 +<​code>​Flux audio : 0 format : ac3 (5.1) langue : ja aide : 128.</​code>​ 
 +Vous devrez extraire la piste audio numéro 128. 
 + 
 +Pour lire le fichier **vob** en utilisant une piste audio particulière (ici la numéro 128), histoire d'​être sûr :
 <​code>​mplayer video.vob -aid 128</​code>​ <​code>​mplayer video.vob -aid 128</​code>​
  
Ligne 159: Ligne 166:
 Pour vous donner un ordre d'​idée,​ pour un film, on choisit généralement un //preset// entre **3** et **4,5**, selon la durée du film. Pour vous donner un ordre d'​idée,​ pour un film, on choisit généralement un //preset// entre **3** et **4,5**, selon la durée du film.
 ==== Méthode utilisant ffmpeg ==== ==== Méthode utilisant ffmpeg ====
 +
 D'​abord on détermine la liste des pistes (video/​audio/​sous-tire/​...) : D'​abord on détermine la liste des pistes (video/​audio/​sous-tire/​...) :
 <​code>​ffmpeg -i video.vob</​code>​ <​code>​ffmpeg -i video.vob</​code>​
 +Normalement l'​ordre des pistes est la même que celle déterminée dans la section [[encodage_dvd_mkv#​extraire_en_vob|Extraire en vob]] ; cependant les numéros sont différents (ils sont sous la forme "​0:​x"​).
  
-Une fois qu'on a repréré ​la piste audio voulue (ici la numero ​2) on l'​extrait :+Une fois qu'on a repéré ​la piste audio voulue (ici la numéro ​2) on l'​extrait :
 <​code>​ffmpeg -i video.vob -map 0:2 -vn -sn -acodec libvorbis -aq 3 -ac 2 audio.ogg</​code>​ <​code>​ffmpeg -i video.vob -map 0:2 -vn -sn -acodec libvorbis -aq 3 -ac 2 audio.ogg</​code>​
  
Ligne 168: Ligne 177:
   * **-vn** on extrait aucune piste vidéo (on ne conserve que la piste audio)   * **-vn** on extrait aucune piste vidéo (on ne conserve que la piste audio)
   * **-sn** on extrait aucune piste de sous-titre (on ne conserve que la piste audio)   * **-sn** on extrait aucune piste de sous-titre (on ne conserve que la piste audio)
-  * **-aq 3** permet de choisir la qualité du son, plus la valeur est grande meilleur est la qualité. Ce paramètre va de 1 à 10. +  * **-aq 3** permet de choisir la qualité du son, plus la valeur est grandemeilleur est la qualité. Ce paramètre va de 1 à 10. 
-  * **-ac 2** permet de spécifier le nombre de canaux ​voulue ​(2 pour du stereo, 6 pour du 5.1, etc.), cette option n'est pas obligatoire.+  * **-ac 2** permet de spécifier le nombre de canaux ​voulu (2 pour du stéréo, 6 pour du 5.1, etc.), cette option n'est pas obligatoire.
  
 ==== Méthode utilisant ffmpeg2theora ==== ==== Méthode utilisant ffmpeg2theora ====
-On peut utiliser [[apt://​ffmpeg2theora|ffmpeg2theora]] dont la sortie par defaut ​utilise le codec audio vorbis :+ 
 +On peut utiliser ​**[[apt>ffmpeg2theora]]** dont la sortie par défaut ​utilise le codec audio ''​vorbis'' ​:
 <​code>​ffmpeg2theora video.vob -a 3 --novideo -o audio.oga</​code>​ <​code>​ffmpeg2theora video.vob -a 3 --novideo -o audio.oga</​code>​
  
Ligne 179: Ligne 189:
  
   * **-a 3** permet de choisir la qualité du son.   * **-a 3** permet de choisir la qualité du son.
-  * **--audiostream 2** permet de choisir la piste son à extraire. ​pour avoir la bonne langue, choisissez la piste qui vous concerne.+  * **%%--%%audiostream 2** permet de choisir la piste son à extraire. ​Pour avoir la bonne langue, choisissez la piste qui vous concerne.
  
 ===== Encoder la vidéo ===== ===== Encoder la vidéo =====
Ligne 185: Ligne 195:
 Cette section est la suite logique de la précédente ; nous allons maintenant extraire et encoder la piste vidéo du fichier vob. Cette section est la suite logique de la précédente ; nous allons maintenant extraire et encoder la piste vidéo du fichier vob.
  
-==== Déterminer si votre est entrelacée ====+==== Déterminer si votre vidéo ​est entrelacée ====
  
-Si lors des mouvements, des [[http://​fr.wikipedia.org/​wiki/​Entrelacement_(vidéo)|lignes horizontales]] apparaissent sur l'​image,​ il faut utiliser un filtre de désentrelacement. +Silors des mouvements, des [[http://​fr.wikipedia.org/​wiki/​Entrelacement_(vidéo)|lignes horizontales]] apparaissent sur l'​image,​ il faut utiliser un filtre de désentrelacement. 
-Si vous n'​êtes pas sûr, joué une scène d'​action image par image (la touche "​."​ avec mplayer), ça se voit très bien.+Si vous n'​êtes pas sûr, jouez une scène d'​action image par image (la touche "​."​ avec ''​mplayer''​), ça se voit très bien.
  
 Attention, ne pas utiliser de filtre de désentrelacement sur une source **Telecine**. Attention, ne pas utiliser de filtre de désentrelacement sur une source **Telecine**.
 En effet, le **Telecine** peut être inversé de manière //​lossless//​ (sans pertes), contrairement à l'​entrelacement. En effet, le **Telecine** peut être inversé de manière //​lossless//​ (sans pertes), contrairement à l'​entrelacement.
  
-Si vous allez encoder la vidéo ​via **mencoder**,​ vous avez le choix entre plusieurs désentrelaceurs :+Si vous voulez ​encoder la vidéo ​avec **mencoder**,​ vous avez le choix entre plusieurs désentrelaceurs :
   * **lavcdeint :** ?   * **lavcdeint :** ?
   * **kerndeint :** Kernel deinterlace   * **kerndeint :** Kernel deinterlace
Ligne 206: Ligne 216:
 <​code>​mplayer video.vob -vf pp=ci</​code>​ <​code>​mplayer video.vob -vf pp=ci</​code>​
  
-Si vous allez encoder la vidéo ​via **ffmpeg**, pas besoins ​de vous creusé ​la tête... vous utiliserais ​l'​option **-deinterlace** (équivalent de pp=fd).+Si vous voulez ​encoder la vidéo ​avec **ffmpeg**, pas besoin ​de vous creuser ​la tête… vous utiliserez ​l'​option **-deinterlace** (équivalent de pp=fd).
  
 <note important>​Surtout,​ si votre vidéo n'est pas entrelacée,​ n'​appliquez aucun filtre de désentrelacement,​ vous perdriez en qualité!</​note>​ <note important>​Surtout,​ si votre vidéo n'est pas entrelacée,​ n'​appliquez aucun filtre de désentrelacement,​ vous perdriez en qualité!</​note>​
Ligne 216: Ligne 226:
 <​code>​mplayer video.vob -nosound -vf cropdetect</​code>​ <​code>​mplayer video.vob -nosound -vf cropdetect</​code>​
  
-Placé ​vous sur une scène ​ou les bande noir apparaissent clairement et ou le contraste film/bande est fort. +Placez ​vous sur une scène ​où les bandes noires ​apparaissent clairement et où le contraste film/bande est fort. 
-Il est aussi conseillé d'​avancer un peu après le début du film, lorsque la taille des bande est stable. +Il est aussi conseillé d'​avancer un peu après le début du film, lorsque la taille des bandes ​est stable ​(utilisez l'​argument -ss)
-En effet, parfois les bandes des séquences d'​introduction du film sont différentes de celle utilisée ​pendant le film.+En effet, parfois les bandes des séquences d'​introduction du film sont différentes de celles utilisées ​pendant le film.
  
-**mplayer** ​devrais ​afficher la meilleure valeur de crop à utiliser, en respectant la taille des blocs (les valeurs sont des multiples de 16).+**mplayer** ​devrait ​afficher la meilleure valeur de crop à utiliser, en respectant la taille des blocs (les valeurs sont des multiples de 16).
  
 Vous pouvez fermez la vidéo. Vous pouvez fermez la vidéo.
Ligne 226: Ligne 236:
 Récupérez,​ par copier-coller,​ le paramètre **-vf crop** ainsi trouvé, puis lisez la vidéo en indiquant le découpage : Récupérez,​ par copier-coller,​ le paramètre **-vf crop** ainsi trouvé, puis lisez la vidéo en indiquant le découpage :
 <​code>​mplayer video.vob -vf crop=720:​576:​0:​0</​code>​ <​code>​mplayer video.vob -vf crop=720:​576:​0:​0</​code>​
 +
 +Vous pouvez également visualiser l'​effet du crop en faisant apparaître un rectangle simulant le découpage sur la vidéo originale :
 +<​code>​mplayer video.vob -vf rectangle=656:​576:​34:​0 -nocache -nosound</​code>​
  
 Si cela ne convient pas vous pouvez modifier les valeurs manuellement. Si cela ne convient pas vous pouvez modifier les valeurs manuellement.
 +Cependant, veuillez à ce que les tailles de l'​image soit des multiples de 16 (largeur = premier nombre du crop ; hauteur = deuxième nombre du crop).
 +
 +Pour une meilleur efficacité du codec il est préférable de ne laisser aucune bande noir, si petite soit-elle.
  
 ==== Déterminer le débit vidéo ==== ==== Déterminer le débit vidéo ====
  
-Ce calcule ​n'est utile que si vous souhaitez fixer la taille du fichier final (pour le faire tenir sur un CD par exemple). +Ce calcul ​n'est utile que si vous souhaitez fixer la taille du fichier final (pour le faire tenir sur un CD par exemple). 
-Si la qualité de l'​image importe plus, passé ​directement ​aux sections ​[[encodage_dvd_mkv#​encodage_visant_une_qualite|encodage visant une qualité]].+Si la qualité de l'​image importe plus, passez ​directement ​à la section ​[[encodage_dvd_mkv#​encodage_visant_une_qualite|encodage visant une qualité]].
  
 <​note>​Certaines notations utilisées, pourtant normalisées,​ sont très peu connues ; consultez les articles de wikipédia sur les [[http://​fr.wikipedia.org/​wiki/​Préfixe_binaire|préfixes binaires]] et sur l'​unité [[http://​fr.wikipedia.org/​wiki/​Octet|octet]].</​note>​ <​note>​Certaines notations utilisées, pourtant normalisées,​ sont très peu connues ; consultez les articles de wikipédia sur les [[http://​fr.wikipedia.org/​wiki/​Préfixe_binaire|préfixes binaires]] et sur l'​unité [[http://​fr.wikipedia.org/​wiki/​Octet|octet]].</​note>​
Ligne 239: Ligne 255:
   * **cd :** la taille finale du fichier que vous voulez obtenir (en Mio) (par exemple 700 Mio) ;   * **cd :** la taille finale du fichier que vous voulez obtenir (en Mio) (par exemple 700 Mio) ;
   * **aud :** la somme des tailles des pistes audio que vous avez encodées (en Mio) ;   * **aud :** la somme des tailles des pistes audio que vous avez encodées (en Mio) ;
-  * **st :** la taille des pistes de sous-titres (comptez 1 Mio à 2 Mio par piste);+  * **st :** la taille des pistes de sous-titres (comptez 1 Mio à 2 Mio par piste) ;
   * **d :** la durée de la vidéo (en secondes).   * **d :** la durée de la vidéo (en secondes).
  
Ligne 247: Ligne 263:
 Pour vous faciliter le calcul, 2^23 × 10^-3 = 8388,608. Pour vous faciliter le calcul, 2^23 × 10^-3 = 8388,608.
  
-Pour ceux qui veulent comprendre cette formule, //cd - aud - st// correspond à la taille en Mio réservée à la vidéo. Pour convertir de Mio en Kio, il faut multiplier par //2^10//. On divise ce résultat par la durée pour obtenir la taille à utiliser en moyenne pour chaque seconde de vidéo, on obtient donc un résultat en Kio/s. On le multiplie par //8 = 2^3// pour obtenir le résultat en Kibits/s. Comme le débit à passer en paramètre de l'​encodeur **x264** doit être exprimé en Kbits/s, et non en Kibits/s, il faut multiplier par //2^10 × 10^-3//+Pour ceux qui veulent comprendre cette formule, //cd - aud - st// correspond à la taille en Mio réservée à la vidéo. 
 +Pour convertir de Mio en Kio, il faut multiplier par //2^10//. 
 +On divise ce résultat par la durée pour obtenir la taille à utiliser en moyenne pour chaque seconde de vidéo, on obtient donc un résultat en Kio/s. 
 +On le multiplie par //8 = 2^3// pour obtenir le résultat en Kibits/s. 
 +Comme le débit à passer en paramètre de l'​encodeur **x264** doit être exprimé en Kbits/s, et non en Kibits/s, il faut multiplier par //2^10 × 10^-3//
  
 ==== Encodage ==== ==== Encodage ====
  
-Pour l'​encodage vous avez le choix d'​utiliser mencoder (qui utilise lui même x264), ou ffmpeg (qui peut utiliser libx264, ce dernier ayant la réputation de fournir des images de meilleur qualité).+Pour l'​encodage vous avez le choix d'​utiliser ​**mencoder** (qui utilise lui même x264), ou **ffmpeg** (qui peut utiliser libx264, ce dernier ayant la réputation de fournir des images de meilleur qualité).
  
 === mencoder === === mencoder ===
Ligne 267: Ligne 287:
 Ces paramètres donnent une extrêmement haute qualité (on peut encore augmenter certains paramètres,​ mais ça serait de l'​abus),​ mais demandent beaucoup de temps d'​encodage : environ 12 h pour un film de 2h à 1Mbit/s sur un core 2 duo 1,6 GHz (ordinateur portable). Ces paramètres donnent une extrêmement haute qualité (on peut encore augmenter certains paramètres,​ mais ça serait de l'​abus),​ mais demandent beaucoup de temps d'​encodage : environ 12 h pour un film de 2h à 1Mbit/s sur un core 2 duo 1,6 GHz (ordinateur portable).
  
-Cependant la première passe ne sert qu'à créer un fichier ​statistiques, on peut donc choisir des paramètres moins élevés pour qu'​elle se déroule plus rapidement, la perte n'est pas perceptible en général. Il est ainsi possible de diviser la durée de la première passe par 4 et arriver à 7h30 pour l'​exemple précédent.+Cependant la première passe ne sert qu'à créer un fichier ​statistique, on peut donc choisir des paramètres moins élevés pour qu'​elle se déroule plus rapidement, la perte n'est pas perceptible en général. Il est ainsi possible de diviser la durée de la première passe par 4 et arriver à 7h30 pour l'​exemple précédent.
  
-Exemple 1ère passe plus rapide : +Exemple 1ère passe plus rapide :
 <​code>​mencoder video.vob -o video.avi -vf pp=ci,​crop=720:​576:​0:​0 -ovc x264 -x264encopts bitrate=800:​frameref=8:​mixed_refs:​bframes=3:​subq=3:​b_pyramid:​weight_b:​threads=auto:​pass=1 -nosound</​code>​ <​code>​mencoder video.vob -o video.avi -vf pp=ci,​crop=720:​576:​0:​0 -ovc x264 -x264encopts bitrate=800:​frameref=8:​mixed_refs:​bframes=3:​subq=3:​b_pyramid:​weight_b:​threads=auto:​pass=1 -nosound</​code>​
  
Ligne 276: Ligne 296:
 Bien sûr, adaptez le crop, l'​éventuel filtre de désentrelacement et le débit selon votre vidéo. Bien sûr, adaptez le crop, l'​éventuel filtre de désentrelacement et le débit selon votre vidéo.
  
-<​note>​Pour mettre les deux étapes en file, par exemple si vous n'avez pas le temps de passer à la fin de la première passe mettre la commande de la deuxième passe, copiez les commandes dans un fichier texte chacune sur une ligne. Enregistrer le fichier dans le répertoire sous le nom "​encodage"​ et lancer depuis le terminal la commande "sh encodage"​.</​note>​+<​note>​Pour mettre les deux étapes en file, par exemple si vous n'avez pas le temps de passer à la fin de la première passe mettre la commande de la deuxième passe, copiez les commandes dans un fichier texte chacune sur une ligne. 
 +Enregistrer le fichier dans le répertoire sous le nom "​encodage"​ et lancer depuis le terminal la commande "sh encodage"​.</​note>​
  
 == encodage visant une taille de fichier (simple) == == encodage visant une taille de fichier (simple) ==
  
-Si vous ne comprenais ​pas grand chose aux paramètres de "​-x264encopts"​ cités plus haut, il existe une alternative plus simple ​non décrit ​dans le man de mencoder. +Si vous ne comprenez ​pas grand chose aux paramètres de "​-x264encopts"​ cités plus haut, il existe une alternative plus simple ​mais qui n'est pas dans le man de ''​mencoder''​
-Celui-ci utilise le programme x264 pour encoder le flux et ne fait que lui relayer les options passées avec "​-x264encopts"​.+Celui-ci utilise le programme ​''​x264'' ​pour encoder le flux et ne fait que lui relayer les options passées avec "​-x264encopts"​.
  
-x264 possède des liste d'​options prédéfinie regroupé en //​profile//,​ //preset// et //tune//. On peut les lister avec la command ​:+x264 possède des liste d'​options prédéfinie regroupé en //​profile//,​ //preset// et //tune//. 
 +On peut les lister avec la commande ​:
 <​code>​x264 --help</​code>​ <​code>​x264 --help</​code>​
  
Ligne 291: Ligne 313:
  
 Plus le //preset// est lent, meilleur sera la qualité. Plus le //preset// est lent, meilleur sera la qualité.
-L'​option "​threads=auto"​ est à conserver, elle permet d'​utiliser ​tout les CPU de la machine.+L'​option "​threads=auto"​ est à conserver, elle permet d'​utiliser ​tous les CPU de la machine.
  
 == encodage visant une qualité == == encodage visant une qualité ==
  
-Généralement le fichier final est destiné à être gravé (sur un CD par exemple), d'ou le calcule du bitrate effectué au chapitre : [[encodage_dvd_mkv#​determiner_le_debit_video|Déterminer le débit vidéo]]+Généralement le fichier final est destiné à être gravé (sur un CD par exemple), d'où le calcule du bitrate effectué au chapitre : [[encodage_dvd_mkv#​determiner_le_debit_video|Déterminer le débit vidéo]]
  
-Lorsque le fichier n'est pas destiné à être gravé et que la qualité de l'​image importe plus que la taille du fichier, il est possible d'​encoder la vidéo en utilisant un paramètre de crf (constant rate factor). +Lorsque le fichier n'est pas destiné à être gravé et que la qualité de l'​image importe plus que la taille du fichier, il est possible d'​encoder la vidéo en utilisant un paramètre de **crf** (constant rate factor). 
-Avec ce paramètre, on ne vise pas une taille de fichier mais une qualité d'​image ; le débit varie alors suivant les scènes pour garantir cette qualité ​toute au long du film.+Avec ce paramètre, on ne vise pas une taille de fichier mais une qualité d'​image ; le débit varie alors suivant les scènes pour garantir cette qualité ​tout au long du film.
  
-Cette méthode ne necessite ​qu'une seul passe :+Cette méthode ne nécessite ​qu'une seul passe :
 <​code>​mencoder video.vob -o video.avi -vf crop=720:​576:​0:​0 -ovc x264 -x264encopts crf=20:​preset=slow:​tune=animation:​threads=auto -nosound -nosub</​code>​ <​code>​mencoder video.vob -o video.avi -vf crop=720:​576:​0:​0 -ovc x264 -x264encopts crf=20:​preset=slow:​tune=animation:​threads=auto -nosound -nosub</​code>​
 +<note tip>Dans certains cas, l'​ajout des options "​harddup et scale" seront nécessaires.
 +Ce qui donnera :
 +<​code>​mencoder video.vob -o video.avi-ovc x264 -x264encopts crf=20:​preset=slow:​tune=film -nosound -vf crop=720:​416:​0:​80,​scale,​harddup
 +</​code></​note>​
  
-Le paramètre "​crf"​ peut varié ​de 0 à 51, plus il est petit, meilleur est la qualité (0 correspondant à un encodage sans perte).+Le paramètre "​crf"​ peut varier ​de 0 à 51, plus il est petit, meilleur est la qualité (0 correspondant à un encodage sans perte).
  
 === ffmpeg === === ffmpeg ===
  
-ffmpeg permet d'​utiliser libx264 qui semble donner de meilleurs résultats. +''​ffmpeg'' ​permet d'​utiliser ​''​libx264'' ​qui semble donner de meilleurs résultats. 
-Il ne possède pas de //tune// comme x264, il dispose en revanche de ces propre //preset// et //​profile//​. +Il ne possède pas de //tune// comme ''​x264''​, il dispose en revanche de ces propre //preset// et //​profile//​. 
-Ceux-ci sont disponible ​sous forme de fichier, un simple "​locate ffpreset"​ permet de les trouver.+Ceux-ci sont disponibles ​sous forme de fichier, un simple "​locate ffpreset"​ permet de les trouver.
  
-Cette partie du tutorial ​est fortement inspirée de [[http://​rob.opendot.cl/​index.php/​useful-stuff/​ffmpeg-x264-encoding-guide|ce billet]] du blog de Robert Swain.+Cette partie du tutoriel ​est fortement inspirée de [[http://​rob.opendot.cl/​index.php/​useful-stuff/​ffmpeg-x264-encoding-guide|ce billet]] du blog de Robert Swain.
  
 == encodage visant une taille de fichier == == encodage visant une taille de fichier ==
  
-Chaque //preset// possède ​sont équivalent spécifique à la première passe (on ajoute "​_firstpass"​ au nom du //​preset//​),​ ils permettent d'​augmenter la vitesse de celle-ci sans altérer la qualité :+Chaque //preset// possède ​son équivalent spécifique à la première passe (on ajoute "​_firstpass"​ au nom du //​preset//​),​ ils permettent d'​augmenter la vitesse de celle-ci sans altérer la qualité :
  
 <​code>​ffmpeg -i video.vob -an -sn -pass 1 -vcodec libx264 -vpre slow_firstpass -b 800k -threads 0 -vf crop=720:​576:​0:​0 video.mkv</​code>​ <​code>​ffmpeg -i video.vob -an -sn -pass 1 -vcodec libx264 -vpre slow_firstpass -b 800k -threads 0 -vf crop=720:​576:​0:​0 video.mkv</​code>​
Ligne 325: Ligne 351:
   * **-sn** : on extrait aucune piste de sous-titre (on ne conserve que la piste vidéo)   * **-sn** : on extrait aucune piste de sous-titre (on ne conserve que la piste vidéo)
   * **-vpre** : spécifie le //preset// (on peut spécifier plusieurs fois cette option)   * **-vpre** : spécifie le //preset// (on peut spécifier plusieurs fois cette option)
-  * **-threads 0** : permet d'​utiliser ​tout les CPU +  * **-threads 0** : permet d'​utiliser ​tous les CPU 
-  * **-deinterlace** : si la vidéo est entrelacé+  * **-deinterlace** : si la vidéo est entrelacée
  
-Pour les appareille ​et lecteur ​ne supportant pas les fonctionnalité ​les plus avancées de h264, il est conseillé d'utilisé ​le //preset// "​main"​ (voir "​baseline"​) en plus du //preset// de rapidité.+Pour les appareils ​et lecteurs ​ne supportant pas les fonctionnalités ​les plus avancées de h264, il est conseillé d'utiliser ​le //preset// "​main"​ (voir "​baseline"​) en plus du //preset// de rapidité.
  
 == encodage visant une qualité == == encodage visant une qualité ==
Ligne 338: Ligne 364:
 Cette section n'est pas la suite logique de la section précédente ! Cette section n'est pas la suite logique de la section précédente !
  
-Ici nous considérerons que vous avez déjà ​lue le reste du tutoriel et que vous comprenez les notions qu'il contient.+Ici nous considérerons que vous avez déjà ​lu le reste du tutoriel et que vous comprenez les notions qu'il contient.
 Nous ne traiterons qu'un exemple utilisant une passe **crf**. Nous ne traiterons qu'un exemple utilisant une passe **crf**.
  
-Pour encodé ​simultanément l'​audio et la vidéo vous pouvez vous inspirer de la commande :+Pour encoder ​simultanément l'​audio et la vidéo vous pouvez vous inspirer de la commande :
 <​code>​ffmpeg -i video.vob ​ -threads 0 -map 0.0 -map 0.1 -sn -vcodec libx264 -vpre veryslow -crf 20 -acodec libvorbis -ac 2 -aq 4 final.mkv</​code>​ <​code>​ffmpeg -i video.vob ​ -threads 0 -map 0.0 -map 0.1 -sn -vcodec libx264 -vpre veryslow -crf 20 -acodec libvorbis -ac 2 -aq 4 final.mkv</​code>​
  
-La première **-map** doit être celle désignant la piste vidéo et la second ​l'​audio.+La première **-map** doit être celle désignant la piste vidéo et la seconde ​l'​audio.
  
-L'​option "​-sn"​ est importante car la sortie mkv de ffmpeg cherche par défaut une piste vidéo, une audio et une de sous-titre. +L'​option "​-sn"​ est importante car la sortie mkv de ''​ffmpeg'' ​cherche par défaut une piste vidéo, une audio et une de sous-titre. 
-Or le fait de spécifier au moins une de ces pistes avec l'​option "​-map"​ oblige l'​utilisateur à spécifier les autres ou à indiqué ​qu'il n'en veut pas via les options "​-vn",​ "​-an"​ ou "​-sn"​. +Or le fait de spécifier au moins une de ces pistes avec l'​option "​-map"​ oblige l'​utilisateur à spécifier les autres ou à indiquer ​qu'il n'en veut pasvia les options "​-vn",​ "​-an"​ ou "​-sn"​. 
-Concrètement,​ si vous ne spécifié ​pas "​-sn"​ ffmpeg retournera une erreur en vous indiquent ​que vous n'avez pas le bon nombre d'​options "​-map"​.+Concrètement,​ si vous ne spécifiez ​pas "​-sn" ​''​ffmpeg'' ​retournera une erreur en vous indiquant ​que vous n'avez pas le bon nombre d'​options "​-map"​.
  
 == plusieurs piste audio == == plusieurs piste audio ==
  
-Pour cela vous pouvez ​utilisé ​l'​option **-newaudio**,​ avec la syntaxe suivante :+Pour cela vous pouvez ​utiliser ​l'​option **-newaudio**,​ avec la syntaxe suivante :
  
 <​code>​ffmpeg -i video.vob ​ -threads 0 -map 0.0 -map 0.1 -sn -vcodec libx264 -vpre veryslow -crf 20 -acodec libvorbis -alang fre -ac 2 -aq 4 final.mkv -map 0.2 -acodec libvorbis -alang eng -ac 2 -aq 4 -newaudio </​code>​ <​code>​ffmpeg -i video.vob ​ -threads 0 -map 0.0 -map 0.1 -sn -vcodec libx264 -vpre veryslow -crf 20 -acodec libvorbis -alang fre -ac 2 -aq 4 final.mkv -map 0.2 -acodec libvorbis -alang eng -ac 2 -aq 4 -newaudio </​code>​
  
-L'​option "​-alang"​ n'est pas obligatoire,​ elle permet d'​ajouter l'​information de langages ​de la piste audio dans le mkv final.+L'​option "​-alang"​ n'est pas obligatoire,​ elle permet d'​ajouter l'​information de langage ​de la piste audio dans le mkv final. 
 + 
 +**/!\ "​-lang"​ n'est pas reconnue par FFMPEG. Il s'agit d'un paramètre reconnu par MEncoder par contre, à corriger.**
  
 === synchronisation audio/​vidéo === === synchronisation audio/​vidéo ===
  
-Lors de l'​encodage simultané audio/​vidéo ffmpeg ne prend pas en compte ​les décalage initial qui peut exister entre ces deux pistes dans le fichier vob. +Lors de l'​encodage simultané audio/​vidéo ​''​ffmpeg'' ​ne prend pas en compte ​le décalage initial qui peut exister entre ces deux pistes dans le fichier vob. 
-Cela peut entraîner une désynchronisation des piste dans le mkv final.+Cela peut entraîner une désynchronisation des pistes ​dans le mkv final.
  
-Pour éviter ce problème, nous pouvons utiliser l'​utilitaire **tcprobe** ​fournie ​par **transcode** :+Pour éviter ce problème, nous pouvons utiliser l'​utilitaire **tcprobe** ​fourni ​par **transcode** :
 <​code>​tcprobe -i video.vob</​code>​ <​code>​tcprobe -i video.vob</​code>​
  
-Les valeurs intéressantes sont les "​PTS"​ qui détermine ​le temps de démarrage des piste dans le vob.+Les valeurs intéressantes sont les "​PTS"​ qui déterminent ​le temps de démarrage des pistes ​dans le vob.
  
-Si par exemple le PTS de la vidéo est de 0.1 et celui de l'​audio est de 1.1 ; comme ffmpeg ne prend pas en compte ces valeurs, l'​audio sera avancé ​de 1s dans le mkv final (le son arrivera 1s avant l'​image ​lui correspondant).+Si par exemple le PTS de la vidéo est de 0,1 et celui de l'​audio est de 1,1 ; comme ffmpeg ne prend pas en compte ces valeurs, l'​audio sera avancé ​d'une seconde ​dans le mkv final (le son arrivera 1s avant l'​image ​correspondante).
  
 Pour rectifier ce décalage, on peut utiliser l'​option "​-itsoffset"​ avec la syntaxe suivante : Pour rectifier ce décalage, on peut utiliser l'​option "​-itsoffset"​ avec la syntaxe suivante :
 <​code>​ffmpeg -i video.vob -itsoffset -1 -i video.vob -map 1.0 -map 0.1 -sn -vcodec libx264 -vpre veryslow -crf 20 -acodec libvorbis -ac 2 -aq 4 final.mkv</​code>​ <​code>​ffmpeg -i video.vob -itsoffset -1 -i video.vob -map 1.0 -map 0.1 -sn -vcodec libx264 -vpre veryslow -crf 20 -acodec libvorbis -ac 2 -aq 4 final.mkv</​code>​
  
-L'​option "​-itsoffset"​ applique un délai à tout les fichiers d'​entrés ("​-i"​) qui sont spécifier ​après elle. +L'​option "​-itsoffset"​ applique un délai à tous les fichiers d'​entrés ("​-i"​) qui sont spécifiés ​après elle. 
-"-map 1.0" permet de spécifier que nous prenons la piste vidéo dans l'entrer décalé ​(deuxième "​-i"​),​ et "-map 0.1" l'​audio dans la première ​entrer ​(premier "​-i"​).+"-map 1.0" permet de spécifier que nous prenons la piste vidéo dans l'entrée décalée ​(deuxième "​-i"​),​ et "-map 0.1" l'​audio dans la première ​entrée ​(premier "​-i"​).
  
 Ici nous appliquons donc un délai négatif à la vidéo pour la resynchroniser avec l'​audio. Ici nous appliquons donc un délai négatif à la vidéo pour la resynchroniser avec l'​audio.
Ligne 388: Ligne 416:
 Si votre DVD contient des sous-titres,​ il est possible de les intégrer au fichier final. Si votre DVD contient des sous-titres,​ il est possible de les intégrer au fichier final.
  
-Dans la section [[encodage_dvd_mkv#​extraire_en_vob|extraire en vob]] nous avons sauvegardé les identifiant ​des pistes de sous-titre ; mais pour plus de précision vous pouvez les testé ​avec la commande :+Dans la section [[encodage_dvd_mkv#​extraire_en_vob|extraire en vob]] nous avons sauvegardé les identifiants ​des pistes de sous-titres ​; mais pour plus de précision vous pouvez les tester ​avec la commande :
 <​code>​mplayer -sid 2 video.vob</​code>​ <​code>​mplayer -sid 2 video.vob</​code>​
-ou "​-sid"​ spécifie l'​identifiant de la piste de sous-titre.+où "​-sid"​ spécifie l'​identifiant de la piste de sous-titre.
  
 Une fois que vous connaissez les numéros sid qui vous intéresse, il suffit de faire : Une fois que vous connaissez les numéros sid qui vous intéresse, il suffit de faire :
-<​code>​mencoder ​dvd://​4 ​-vobsubout subtitles -vobsuboutindex 0 -sid 2 -o /dev/null -nosound -ovc frameno</​code>​+<​code>​mencoder ​video.vob ​-vobsubout subtitles -vobsuboutindex 0 -sid 2 -o /dev/null -nosound -ovc frameno</​code>​
 Les fichiers subtitles.idx et subtitles.sub seront alors créés dans le répertoire courant. Les fichiers subtitles.idx et subtitles.sub seront alors créés dans le répertoire courant.
  
-Répétez cette opération pour chacune des pistes de sous-titres que vous souhaitez extraire, en changeant le numéro de l'​option "​vobsuboutindex"​ (incrémentez-le pour chaque nouveau sous-titres).+Répétez cette opération pour chacune des pistes de sous-titres que vous souhaitez extraire, en changeant le numéro de l'​option "​vobsuboutindex"​ (incrémentez-le pour chaque nouveau sous-titre).
  
 <​note>​ <​note>​
 Il existe des méthodes permettant de transformer ces sous-titre "​vobsub"​ en "​srt"​. Il existe des méthodes permettant de transformer ces sous-titre "​vobsub"​ en "​srt"​.
-Nous ne les détaillerons pas ici cependant, voici deux liens qui sont particulièrement utile pour comprend ​la méthode (en anglais) :+Nous ne les détaillerons pas ici cependant, voici deux liens qui sont particulièrement utile pour comprendre ​la méthode (en anglais) :
   * [[http://​lists.mplayerhq.hu/​pipermail/​mplayer-users/​2006-August/​062168.html]]   * [[http://​lists.mplayerhq.hu/​pipermail/​mplayer-users/​2006-August/​062168.html]]
   * [[http://​www.bunkus.org/​dvdripping4linux/​en/​separate/​subtitles.html]]   * [[http://​www.bunkus.org/​dvdripping4linux/​en/​separate/​subtitles.html]]
Ligne 407: Ligne 435:
 == méthode alternative == == méthode alternative ==
  
-<​code>​tcextract -i video.vob -t vob -x ps1 -a 0x21 > français.ps1</​code>​ +<​code>​tcextract -i video.vob -t vob -x ps1 -a 0x21 > francais.ps1</​code>​ 
- +ou à partir d'un DVD 
-Vous pouvez alors transformer le fichier français.ps1 en vobsub (ou en image via subtitle2pgm,​ pour ensuite les passé ​à l'OCR et faire un srt) : +<​code>​tccat -i /dev/dvd -T1 | tcextract -t vob -x ps1 -a 0x21 > francais.ps1</​code>​ 
-<​code>​subtitle2vobsub -p français.ps1 -i VTS_01_0.IFO -a 0,fr </​code>​ +Vous pouvez alors transformer le fichier français.ps1 en vobsub (ou en image via subtitle2pgm,​ pour ensuite les passer ​à l'OCR et faire un srt) : 
- +<​code>​subtitle2vobsub -p francais.ps1 -i /​media/​dvd/​VIDEO_TS/​VTS_01_0.IFO -a 0,fr -o francais</​code>​ 
-Ces options ne sont pas obligatoire ​+Cela crée les fichiers "​francais.idx"​ et "​francais.sub"​ 
-  * **-i** : spécifie le fichier déterminant la taille et la palette de couleurs des sous-tire+Ces options ne sont pas obligatoires ​
 +  * **-i** : spécifie le fichier déterminant la taille et la palette de couleurs des sous-titres
   * **-a** : spécifie le vobsuboutindex et la langue   * **-a** : spécifie le vobsuboutindex et la langue
- 
 ===== Multiplexer en mkv ===== ===== Multiplexer en mkv =====
  
 Nous aurons besoin de : Nous aurons besoin de :
-  * [[apt://​mkvtoolnix|mkvtoolnix]] +  ​* **[[apt>mkvtoolnix]]** 
-  * [[apt://​mkvtoolnix-gui|mkvtoolnix-gui]]+  ​* **[[apt>mkvtoolnix-gui]]**
  
 Démarrez la **M**kv**M**erge**G**UI : Démarrez la **M**kv**M**erge**G**UI :
Ligne 441: Ligne 469:
 N'​oubliez pas de bien préciser le type mime de chacun des fichiers joints. N'​oubliez pas de bien préciser le type mime de chacun des fichiers joints.
  
-==== Global ​====+=== Global ===
  
 Dans le champ //​File/​segment title//, renseignez le titre du film. Dans le champ //​File/​segment title//, renseignez le titre du film.
Ligne 448: Ligne 476:
 Si votre fichier est en XML, précisez l'​encodage utilisé (généralement utf-8 pour le XML). Si votre fichier est en XML, précisez l'​encodage utilisé (généralement utf-8 pour le XML).
  
-==== Start Muxing ​====+=== Start Muxing ===
  
 Appuyez sur le bouton //Start Muxing//... Appuyez sur le bouton //Start Muxing//...
  
 Quelques dizaines de secondes plus tard, votre fichier mkv est prêt : il contient un film avec une image qualité DVD, plusieurs bandes sons, plusieurs pistes de sous-titres et un chapitrage complet du film. Quelques dizaines de secondes plus tard, votre fichier mkv est prêt : il contient un film avec une image qualité DVD, plusieurs bandes sons, plusieurs pistes de sous-titres et un chapitrage complet du film.
  • encodage_dvd_mkv.1296371461.txt.gz
  • Dernière modification: Le 18/04/2011, 14:49
  • (modification externe)