Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
encodage_dvd_mkv [Le 10/01/2014, 19:14] 84.101.156.66 typo a->à |
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 24: | Ligne 24: | ||
* [[:handbrake]] | * [[:handbrake]] | ||
+ | * [[:dvdrip]] | ||
* [[:ogmrip]] | * [[:ogmrip]] | ||
* [[:acidrip]] (ne permet pas d'encoder le son au format AAC) | * [[: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 111: | Ligne 113: | ||
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://transcoding.org/|transcode]] (complexe à utiliser) | + | * [[https://transcoding.org/|transcode]] (complexe à utiliser) |
* dvdbackup | * dvdbackup | ||
Ligne 163: | 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 188: | 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 202: | 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 215: | 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 226: | 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 286: | 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 312: | 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 319: | 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. | <note tip>Dans certains cas, l'ajout des options "harddup et scale" seront nécessaires. | ||
Ligne 334: | 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 == | ||
Ligne 351: | 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 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é. | 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é. | ||
Ligne 382: | 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 388: | 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 432: | 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 ===== | ||