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 13/03/2012, 20:03]
83.113.86.142 [Méthode utilisant ffmpeg]
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]]
  
  
Ligne 43: 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]].
  
 Nous aurons besoin d'​[[:​tutoriel:​comment_installer_un_paquet|installer de nouveaux paquets]] pour rendre la compilation possible : Nous aurons besoin d'​[[:​tutoriel:​comment_installer_un_paquet|installer de nouveaux paquets]] pour rendre la compilation possible :
Ligne 77: Ligne 79:
  
 <​code>​mplayer -nocache dvdnav://</​code>​ <​code>​mplayer -nocache dvdnav://</​code>​
- 
-**vobcopy** choisit directement le titre contenant le plus de chapitres pour le copier sur le disque dur. 
- 
-<​code>​vobcopy -l</​code>​ 
  
 ==== Extraire les chapitres ==== ==== Extraire les chapitres ====
Ligne 93: Ligne 91:
  
 Les méta-données (langues des pistes audios et des chapitres) seront perdues. Les méta-données (langues des pistes audios et des chapitres) seront perdues.
-Il est donc conseillé de les notées ​dans un fichier texte ou autre ; elles sont affichées 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 105: Ligne 103:
 **À 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]] (complexe à utiliser)+
   * dvdbackup   * dvdbackup
  
Ligne 164: Ligne 165:
  
 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 ====
  
Ligne 189: 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 203: Ligne 203:
 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 216: 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 creuser la tête... vous utiliserez 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 227: Ligne 227:
  
 Placez vous sur une scène où les bandes noires apparaissent clairement et où 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 bandes 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 celles utilisées 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 287: 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 313: 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é ==
Ligne 320: Ligne 320:
  
 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 ===
Ligne 331: Ligne 335:
 ''​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 348: Ligne 352:
   * **-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 tous 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 appareilles ​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é.+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 360: 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**.
  
Ligne 379: Ligne 383:
  
 L'​option "​-alang"​ n'est pas obligatoire,​ elle permet d'​ajouter l'​information de langage 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 ===
Ligne 385: Ligne 391:
 Cela peut entraîner une désynchronisation des pistes 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>​
  
Ligne 415: Ligne 421:
  
 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.
  
Ligne 429: 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 
 +<​code>​tccat -i /dev/dvd -T1 | tcextract -t vob -x ps1 -a 0x21 > francais.ps1</​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) : 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 français.ps1 -i VTS_01_0.IFO -a 0,fr </​code>​ +<​code>​subtitle2vobsub -p francais.ps1 -i /​media/​dvd/​VIDEO_TS/​VTS_01_0.IFO -a 0,fr -o francais</​code>​ 
 +Cela crée les fichiers "​francais.idx"​ et "​francais.sub"​
 Ces options ne sont pas obligatoires : Ces options ne sont pas obligatoires :
   * **-i** : spécifie le fichier déterminant la taille et la palette de couleurs des sous-titres   * **-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 =====
  
  • encodage_dvd_mkv.1331665390.txt.gz
  • Dernière modification: Le 13/03/2012, 20:03
  • par 83.113.86.142