Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
![]()
Message
#1
|
|
![]() Ouvreur ![]() Groupe : Membres Messages : 1 Inscrit : 10/04/2015 Membre no 58.169 ![]() |
Certaines fonctionnalités du format Matroska sont méconnus voir totalement ignorés.
Parmi elle, le système de chapitrage. La majorité des fichiers MKV (surtout HD) ne contienne pas de chapitres. Les rares fois ou ils sont présent, les utilisateurs ne savent pas comment les exploiter ou ne peuvent pas faute de matériel ou de player compatible. L'utilisation la plus courante est un système d'index (de préférence nommé) qui reproduit le chapitrage disponible sur le DVD ou le BluRay. Mais d'autres fonctionnalités sont possible avec le système de chapitres matroska comme : - Créer des fichiers chapitres matroska pouvant exploiter d'autres MKV - Exploiter des vidéos multi-angle a partir d'un meme fichier ou via des mkv différents - Lier des mkv ou des partie de mkv afin qu'elles apparaissent a l'utilisateur comme un tous - Créer des combinaisons audio/video/sous-titres sélectionnable en un clic via le menu (pratique pour passer de la version VF a la version VOSTFR) Pré requis : - mkvtoolnix - Haali media splitter Liaison de fichier et Seguement UID : avant de rentrer dans le vif du sujet, voici quelques notions propre au format matroska qui vont nous servir par la suite. Un des concepts les plus simple a comprendre et les plus facile a accomplir est la liaison de fichier. Des fichiers Matroska ayant la même combinaison de pistes (audio video sous-titres) et les mêmes codecs peuvent être liés. Ceci permet de lancer n'importe lequel de ces fichiers lié et d'obtenir dans le player une reconstitution virtuel du fichier final a lire. Avec un exemple c'est plus simple : Imaginez que vous réalisé un MKV de 1.4 Go et que vous avez besoin de le spliter en 2 partie de 700 Mo. Dans Mkvmerge Gui, onglet "Options Globale" dans la partie "Fractionnement" vous pouvez sliter le multiplexage automatiquement après une taille de 700 Mo (Ne pas oublier de cocher "lier les fichiers") Ont obtiens 2 fichiers : Film-001.mkv et un Film-002.mkv de 700 Mo chacun. quelque soit le fichier qu'ont utilise, c'est le film dans sa globalité qui se lance comme si ont lançait un fichier unique de 1.4 Go (le fichier 1 a un fichier suite et le fichier 2 a un fichier précédent) (IMG:http://i.imgur.com/SeVQbCO.jpg) un peu plus bas dans le même onglet ont voie une partie appelé "File/segment linking" qui permet de lier le mkv a d'autres fichiers MKV (avec le même set de video, audio, sous-titre) qui fait référence a une notion de "UID". Mkvtoolnix installe le programme Mkvinfo GUI qui donne cette information sur la ligne "Segment UID" (IMG:http://i.imgur.com/qwAVObj.jpg) Voici un exemple d'utilisation de l'UID Imaginons qu'ont encode une série TV en mkv. la saison comporte 24 épisodes qui ont tous les 3 même premières minutes identique : le générique il est possible d'encoder une seul fois le générique de 3 minutes dans un fichier mkv a part et d'encoder les 24 épisodes sans les 3 premières minutes du générique. Au moment ou ont va multiplexer chaque mkv d'épisode, on indique dans "Previous segment UID" le segment UID du fichier générique. L'utilisateur aura l'impression que tout les épisodes ont un générique de début mais dans la réalité il s'agit du meme fichier générique qui est repris lorsqu’on lance chaque épisode dans le player. Description format chapitre et chapitre structuré Voici un exemple simple de chapitre au format xml il est possible de charger ce fichier xml dans mkvmerge Gui (menu chapitres / charger) ou dans un éditeur de texte. Code <?xml version="1.0" encoding="UTF-8"?> <!-- <!DOCTYPE Tags SYSTEM "matroskatags.dtd"> --> <Chapters> <EditionEntry> <EditionFlagHidden>0</EditionFlagHidden> <EditionFlagDefault>1</EditionFlagDefault> <EditionUID>2906622091</EditionUID> <ChapterAtom> <ChapterUID>236737181</ChapterUID> <ChapterTimeStart>00:00:00.000000000</ChapterTimeStart> <ChapterFlagHidden>0</ChapterFlagHidden> <ChapterFlagEnabled>1</ChapterFlagEnabled> <ChapterDisplay> <ChapterString>Intro</ChapterString> <ChapterLanguage>eng</ChapterLanguage> </ChapterDisplay> </ChapterAtom> <ChapterAtom> <ChapterUID>3143058099</ChapterUID> <ChapterTimeStart>00:01:42.102000000</ChapterTimeStart> <ChapterFlagHidden>0</ChapterFlagHidden> <ChapterFlagEnabled>1</ChapterFlagEnabled> <ChapterDisplay> <ChapterString>Opening</ChapterString> <ChapterLanguage>eng</ChapterLanguage> </ChapterDisplay> </ChapterAtom> </EditionEntry> </Chapters> Chaque éléments est défini dans le tag <chapterAtom> et tous les éléments sont englobé dans un tag <EditionEntry>. Il est possible d'avoir plusieurs "édition" de chapitres aux seins d'un même mkv. (ont pourrait par exemple avoir une edition avec le chapitrage nommé en français et une édition avec le chapitrage nommé en anglais ou encore une edition avec un chapitrage détaillé de 25 scènes et une autre édition avec un index plus sommaire de 7 ou 8 scènes) Pour le reste c'est assez simple. le chapterID (généré automatiquement), le ChapterTimeStart (le timing de la scène si ont utilise le chapitres) la possibilité de masquer un chapitre (ChapterFlagHidden), le nom de la scène et la langue (ChapiterString et ChapterLanguage). Il est possible pour un <chapterAtom> de mettre plusieurs <ChapterDisplay> pour rajouter des noms de chapitres dans d'autres langues. (par défaut le splitter détecte la langue de votre system et n'affiche que les titres de votre langue) Il éxite un tag très intéressant <EditionFlagOrdered>1</EditionFlagOrdered> qui permet de transformer le chapitrage en un système structuré ou programmé. Le chapitrage standard n'est qu'une simple suite de pointe d'entré dans la ligne de temps de votre film. Les chapitres structuré permette de créer une ligne de temps virtuel. Ces chapitres ont un temps de début et un temps de fin (<ChapterTimeStart> et <ChapterTimeEnd>) Prenons un exemple d'un clip video de 30 secondes que l'ont veut jouer 3 fois de suite. en temps normale il faudrait encoder 3 fois le clip pour obtenir un fichier d'1m30s. Le chapitre structuré suivant permet de faire la même chose avec le clip de 30 secondes Code <?xml version="1.0" encoding="UTF-8"?> <!-- <!DOCTYPE Tags SYSTEM "matroskatags.dtd"> --> <Chapters> <EditionEntry> <EditionFlagOrdered>1</EditionFlagOrdered> <EditionFlagHidden>0</EditionFlagHidden> <EditionFlagDefault>1</EditionFlagDefault> <EditionUID>2906622092</EditionUID> <ChapterAtom> <ChapterUID>3143058099</ChapterUID> <ChapterTimeStart>00:00:00.000000000</ChapterTimeStart> <ChapterTimeEnd>00:00:30.000000000</ChapterTimeEnd> <ChapterFlagHidden>0</ChapterFlagHidden> <ChapterFlagEnabled>1</ChapterFlagEnabled> <ChapterDisplay> <ChapterString>Test</ChapterString> <ChapterLanguage>fr</ChapterLanguage> </ChapterDisplay> </ChapterAtom> <ChapterAtom> <ChapterUID>3143058098</ChapterUID> <ChapterTimeStart>00:00:00.000000000</ChapterTimeStart> <ChapterTimeEnd>00:00:30.000000000</ChapterTimeEnd> <ChapterFlagHidden>1</ChapterFlagHidden> <ChapterFlagEnabled>1</ChapterFlagEnabled> <ChapterDisplay> <ChapterString>caché</ChapterString> <ChapterLanguage>fr</ChapterLanguage> </ChapterDisplay> </ChapterAtom> <ChapterAtom> <ChapterUID>3143058097</ChapterUID> <ChapterTimeStart>00:00:00.000000000</ChapterTimeStart> <ChapterTimeEnd>00:00:30.000000000</ChapterTimeEnd> <ChapterFlagHidden>1</ChapterFlagHidden> <ChapterFlagEnabled>1</ChapterFlagEnabled> <ChapterDisplay> <ChapterString>Pouet!</ChapterString> <ChapterLanguage>fr</ChapterLanguage> </ChapterDisplay> </ChapterAtom> </EditionEntry> </Chapters> Dans cet exemple les mêmes 30 secondes sont rejouer 3 fois. Dans le player, c'est un fichier qui s'affiche avec une durée 1m 30s. Notez que les chapitres 2 ou 3 sont cachés et que seul le chapitre 1 apparait dans le menu chapitre. Voici un autre exemple d'utilisation pour ceux qui connaisse un peu le film Memento il éxitse une version originale du film et une version "Ordre chronologique" Il serait tout a fait possible dans le même fichier mkv de faire deux éditions de chapitres. Une édition avec un chapitrage standard de la version original et une édition avec des chapitres structurés reprenant la version chronologique du film. (voir même une 3ème édition avec votre propre montage si ça vous chante) Chapitres structurés et liaison de segment La création de ligne de temps virtuel via les chapitres structurés peut être combiné avec le système de liaison de fichier vu plus haut. c'est a dire qu'il est possible de faire référence a un autre fichier dans notre ligne de temps. voila ce que ça donne dans le fichier XML Code <?xml version="1.0" encoding="UTF-8"?> <!-- <!DOCTYPE Tags SYSTEM "matroskatags.dtd"> --> <Chapters> <EditionEntry> <EditionFlagOrdered>1</EditionFlagOrdered> <EditionFlagHidden>0</EditionFlagHidden> <EditionFlagDefault>1</EditionFlagDefault> <EditionUID>2906622092</EditionUID> <ChapterAtom> <ChapterUID>3143058099</ChapterUID> <ChapterTimeStart>00:00:00.000000000</ChapterTimeStart> <ChapterTimeEnd>00:00:30.000000000</ChapterTimeEnd> <ChapterFlagHidden>0</ChapterFlagHidden> <ChapterFlagEnabled>1</ChapterFlagEnabled> <ChapterDisplay> <ChapterString>Test</ChapterString> <ChapterLanguage>fr</ChapterLanguage> </ChapterDisplay> </ChapterAtom> <ChapterAtom> <ChapterUID>3143058098</ChapterUID> <ChapterTimeStart>00:00:00.000000000</ChapterTimeStart> <ChapterTimeEnd>00:00:30.000000000</ChapterTimeEnd> <ChapterFlagHidden>0</ChapterFlagHidden> <ChapterFlagEnabled>1</ChapterFlagEnabled> <ChapterSegmentUID format="hex"> b4 9b 72 e0 94 11 05 61 8f 7b 0f d6 d0 34 82 01 </ChapterSegmentUID> <ChapterDisplay> <ChapterString>Lecture d'un autre fichier</ChapterString> <ChapterLanguage>fr</ChapterLanguage> </ChapterDisplay> </ChapterAtom> <ChapterAtom> <ChapterUID>3143058097</ChapterUID> <ChapterTimeStart>00:00:00.000000000</ChapterTimeStart> <ChapterTimeEnd>00:00:30.000000000</ChapterTimeEnd> <ChapterFlagHidden>0</ChapterFlagHidden> <ChapterFlagEnabled>1</ChapterFlagEnabled> <ChapterDisplay> <ChapterString>Identique au chapitre 1</ChapterString> <ChapterLanguage>fr</ChapterLanguage> </ChapterDisplay> </ChapterAtom> </EditionEntry> </Chapters> idéal par exemple pour gérer les films avec une fin alternative. Jouer avec les Editions (versions) de chapitres et les combinaisons de pistes On a vu que les editions permettent d'inclure plusieurs versions de chapitres aux seins d'un même fichier MKV. ces différentes versions vont apparaitre sous la forme Edition1, Edition2, etc.. si il n'est pas possible de les nommés via le fichier XML, il est possible d'utiliser un fichier tag (également au format XML a inclure dans mkvmerge GUI sur la ligne "fichier d'étiquettes") où l'ont va faire référence aux EditionUID du fichier XML chapitres. Code <?xml version="1.0" encoding="UTF-8"?> <!-- <!DOCTYPE Tags SYSTEM "matroskatags.dtd"> --> <Tags> <Tag> <Targets> <EditionUID>2906622092</EditionUID> <TargetTypeValue>50</TargetTypeValue> </Targets> <Simple> <Name>TITLE</Name> <String>Générique début</String> <TagLanguage>fr</TagLanguage> <DefaultLanguage>1</DefaultLanguage> </Simple> </Tag> <Tag> <Targets> <EditionUID>2906622091</EditionUID> <TargetTypeValue>50</TargetTypeValue> </Targets> <Simple> <Name>TITLE</Name> <String>Générique début alternatif</String> <TagLanguage>eng</TagLanguage> <DefaultLanguage>1</DefaultLanguage> </Simple> </Tag> </Tags> Le splitter haali permet, en jouant avec les fichiers tag de configurer les jeux de pistes ou combinaisons de pistes (video, audio, sous-titres) ont peut par exemple faire une edition de chapitre avec un "trackset" audio Français + ghost subtitles et une édition avec un "trackset" audio Anglais + Sous titres Français Voila en image ce que ça donne dans le menu Haali (IMG:http://i.picasion.com/pic79/3e3f966a58cc0a05f12440538555d126.gif) voila le fichier tag qui a rendu ça possible. Je vais pas détailler ici la codification mais si vous êtes intéressé je suis a votre disposition. Code <?xml version="1.0" encoding="UTF-8"?> <!-- <!DOCTYPE Tags SYSTEM "matroskatags.dtd"> --> <Tags> <Tag> <Targets> <EditionUID>2906622092</EditionUID> <TargetTypeValue>50</TargetTypeValue> </Targets> <Simple> <Name>TITLE</Name> <String>"Version FR"</String> <TagLanguage>eng</TagLanguage> <DefaultLanguage>1</DefaultLanguage> </Simple> </Tag> <Tag> <Targets> <EditionUID>2906622091</EditionUID> <TargetTypeValue>50</TargetTypeValue> </Targets> <Simple> <Name>TITLE</Name> <String>"VOSTFR"</String> <TagLanguage>eng</TagLanguage> <DefaultLanguage>1</DefaultLanguage> </Simple> </Tag> <Tag> <Simple> <Name>TRACKSETEX</Name> <String>2906622092 . #0 #0 fra VF</String> </Simple> <Simple> <Name>TRACKSETEX</Name> <String>2906622091 . #1 #1 eng VOSTFR</String> </Simple> </Tag> </Tags> Tout ce blabla n'a pour but que de vulgariser des fonctionnalités méconnues. Libre a chacun de juger si il est bon de les utiliser ou pas et dans quelles conditions J'espère que mon sévère degrés de nullité en anglais ne m'a pas trop fait traduire n'importe quoi. Merci de m'avoir lu. |
|
|
![]()
Message
#2
|
|
![]() Producteur ![]() Groupe : Rédacteurs Messages : 6.285 Inscrit : 08/10/2004 Lieu : Un coin perdu du Gers (32) Membre no 4.657 ![]() |
Bonjour
Bienvenue sur le forum de Ri4m... Merci d'avoir pris le temps de faire ce tuto. Perso, je ne suis pas fan du MKV, mais d'autres en auront probablement l'utilité... @+ |
|
|
![]() ![]() |
Discussions similaires à la discussion "[TUTO/Vulgarisation] Chapitres Matroska"
Sujets récents
![]() |
Nous sommes le : 24/04/2024 08:31 |