Hallo alle
Ich würde gerne Matroska Dateien selber parsen wollen, allerdings fehlt mir da der Ansatz.
Kennt sich einer von euch damit aus und würde mir helfen?
hubble
Hallo alle
Ich würde gerne Matroska Dateien selber parsen wollen, allerdings fehlt mir da der Ansatz.
Kennt sich einer von euch damit aus und würde mir helfen?
hubble
Ich würde gerne Matroska Dateien selber parsen wollen, allerdings fehlt mir da der Ansatz.
Ist es wirklich so kompliziert Google zu benutzen?
Matroska Technical Info
Ist es IMMer nötig die Leute auf Google zu verweisen???
Ich denke du hast meine Signatur gesehen...Ich kenne mich schon recht gut aus was Matroska angeht, aber parsen ist was anderes als technical Infos zu lesen oder irre ich mich da jetzt völlig?
Ich kenne mich schon recht gut aus was Matroska angeht, aber parsen ist was anderes als technical Infos zu lesen oder irre ich mich da jetzt völlig?
Alle Infos die du brauchst sind da. Vielleicht solltest du dir den Source Code von Bunkus' mkvtoolnix/mkvinfo ansehen.
Ja ich weis das dort alle Infos zu finden sind, nur leider versteh ich nicht alles was da steht.
Bisher habe ich nur ifo und mpls Dateien geparst. Dort war es irgendwie leichter verständlicher.
Bei ifo zum Beispiel gibts ein TableStartByte und innerhalb dieses Tables gibt es OffSets, wodurch man zur gewünschten BytePosition in der Datei kommt.
Ähnlich ist es bei mpls Dateien.
Im anhang mal eine winzige mkv Datei mit ein paar Kapiteln
und hier die Bytes
4E6F746520746861742054696D65636F64655363616C65206D6179206265206F6D6974746564[COLOR='#FFA07A']1A45DFA3[/COLOR][COLOR='#FF0000']A3[/COLOR][COLOR='#FFA500']4286[/COLOR]810142F7810142F2810442F381084282886D6174726F736B614287810442858102185380670100000000002E84114D9B749E4DBB8C53AB84114D9B7453AC822D384DBB8C53AB841254C36753AC822D78EC01000000000000060000000000001043A7704EFE45B949E545BC88B0DA37E1082D82BB45BD810045DB810145DD8101B6409E73C488CE38E9122A1BCF8E9181009285528124F080988100459881016E67909D27AFBC820B620EADAD3B492E4CE33980A08598533032453031202D205765636873656C2853776974636829437C83676572B6CB73C488ADC820E75D84F6BE9181009285528124F080988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2031437C83676572B640A673C4887D81E369A80125B89185528124F0809285E33CA4A7C0988101459881016E67909D27AFBC820B620EADAD3B492E4CE33980A08598533032453031202D205765636873656C2853776974636829437C83676572B6CF73C488A3F6C059A6613F0A9185528124F0809285E33CA4A7C0988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2032437C83676572B640A873C488C7E6350DD9919CDA9185E33CA4A7C0928601A8A4432F80988101459881016E67909D27AFBC820B620EADAD3B492E4CE33980A08598533032453031202D205765636873656C2853776974636829437C83676572B6D073C4886D682ABFD662474A9185E33CA4A7C0928601A8A4432F80988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2033437C83676572B640AA73C488AFA65B08C69DE32F918601A8A4432F809286021A9C1495C0988101459881016E67909D27AFBC820B620EADAD3B492E4CE33980A08598533032453031202D205765636873656C2853776974636829437C83676572B6D173C48868B60A482DF68B0A918601A8A4432F809286021A9C1495C0988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2034437C83676572B640AA73C4880F26F97CB021217E9186021A9C1495C0928602870862CD55988101459881016E67909D27AFBC820B620EADAD3B492E4CE33980A08598533032453031202D205765636873656C2853776974636829437C83676572B6D173C488EE9BC0676DD2B1D39186021A9C1495C0928602870862CD55988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2035437C83676572B6409E73C4883611C7E29A43B6BA91810092855E285B5500988100459881016E67909CB953A3B3F580C98E9F2B05138D627480A08598533032453032202D204B756368656E28436F62626C657229437C83676572B6CB73C4884D3AD20DE59D8E3B91810092855E285B5500988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2031437C83676572B640A873C488B6A24A2524F416AF91855E285B5500928601020052F8C0988101459881016E67909CB953A3B3F580C98E9F2B05138D627480A08598533032453032202D204B756368656E28436F62626C657229437C83676572B6D073C4887D8CD1FF5817596291855E285B5500928601020052F8C0988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2032437C83676572B640AA73C488E32038CF2BFB2B53918601020052F8C092860178FFE52707988101459881016E67909CB953A3B3F580C98E9F2B05138D627480A08598533032453032202D204B756368656E28436F62626C657229437C83676572B6D173C48816B62CD0E33ABA7C918601020052F8C092860178FFE52707988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2033437C83676572B640AA73C488E46F347964A2447891860178FFE52707928601E904065BD5988101459881016E67909CB953A3B3F580C98E9F2B05138D627480A08598533032453032202D204B756368656E28436F62626C657229437C83676572B6D173C488A819B3897247DC3B91860178FFE52707928601E904065BD5988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2034437C83676572B640AA73C488D2D6997CEF5430AA918601E904065BD59286028C8777ADDC988101459881016E67909CB953A3B3F580C98E9F2B05138D627480A08598533032453032202D204B756368656E28436F62626C657229437C83676572B6D173C488F229024D44705DEB918601E904065BD59286028C8777ADDC988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2035437C83676572B6409773C4882B1C0549F6A1F6C991810092854D7963D1AA988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C80998591533032453033202D20416D6172696C6C6F437C83676572B6CB73C4883BC8EDB24369D13491810092854D7963D1AA988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2031437C83676572B6409F73C48823915C209DC0EADA91854D7963D1AA9285D3F3A96DEA988101459881016E6790B78B392C49586DBEB9CE9F06600A3F5C80998591533032453033202D20416D6172696C6C6F437C83676572B6CF73C488A5514D6C65350BA891854D7963D1AA9285D3F3A96DEA988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2032437C83676572B640A173C4884AEFBA856E6F754A9185D3F3A96DEA928601746F787780988101459881016E6790B78B392C49586DBEB9CE9F06600A3F5C80998591533032453033202D20416D6172696C6C6F437C83676572B6D073C4880EB7B5827B04C9E39185D3F3A96DEA928601746F787780988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2033437C83676572B640A373C488DA4B1A270F2CBA2D918601746F787780928601CAF3562F95988101459881016E6790B78B392C49586DBEB9CE9F06600A3F5C80998591533032453033202D20416D6172696C6C6F437C83676572B6D173C48842F1C645A7F7BD36918601746F787780928601CAF3562F95988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2034437C83676572B640A373C488235F2DF00F2939CF918601CAF3562F9592860243DCA70E00988101459881016E6790B78B392C49586DBEB9CE9F06600A3F5C80998591533032453033202D20416D6172696C6C6F437C83676572B6D173C488E827B11E848DB1FC918601CAF3562F9592860243DCA70E00988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2035437C8367657245B941AD45BC882BA5C584E7B2BD4645BD810045DB810045DD8101B6CB73C4884083F98BD56638939181009285528124F080988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2031437C83676572B6CF73C48887D27D4BAAD10FE69185528124F0809285E33CA4A7C0988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2032437C83676572B6D073C488A86B14FED8A5E8D89185E33CA4A7C0928601A8A4432F80988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2033437C83676572B6D173C488490A1345C17EB94C918601A8A4432F809286021A9C1495C0988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2034437C83676572B6D173C4880FEF62698FA4C6D09186021A9C1495C0928602870862CD55988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2035437C8367657245B941AF45BC88B5EC3A142B4E748845BD810045DB810045DD8101B6CB73C488D9215ADDC46A788691810092855E285B5500988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2031437C83676572B6D073C48840744B6F113604E791855E285B5500928601020052F8C0988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2032437C83676572B6D173C488AADD726D96D623D0918601020052F8C092860178FFE52707988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2033437C83676572B6D173C488450D3CFC1C0DBEAA91860178FFE52707928601E904065BD5988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2034437C83676572B6D173C48882DFE996CF5A1079918601E904065BD59286028C8777ADDC988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2035437C8367657245B941AD45BC884C3FD37500D4E9BB45BD810045DB810045DD8101B6CB73C488A6304E88CEBA4F4F91810092854D7963D1AA988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2031437C83676572B6CF73C4880EA366AE0F20DE5E91854D7963D1AA9285D3F3A96DEA988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2032437C83676572B6D073C4887DB5682DCB498FBF9185D3F3A96DEA928601746F787780988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2033437C83676572B6D173C488D4957B08917ADF14918601746F787780928601CAF3562F95988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2034437C83676572B6D173C4886B3C4DAC8B964680918601CAF3562F9592860243DCA70E00988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2035437C83676572EC01000000000000C4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001549A966F82AD7B1830F42404D80A36C696265626D6C2076312E332E34202B206C69626D6174726F736B612076312E342E355741A36D6B766D657267652076392E382E302028274B75676C626C696473272920363462697444898442000000446188071065FB1799860073A49085E768C071C40C71A7B747ECDF9A68821654AE6B429AAE4131D7810173C588C0B1CFBEC5A2E4AD8381019C81006DE78101868F565F4D504547342F49534F2F41564363A240D301640029FFE1003327640029AC7B01E0089F9701C800009C68001D4C071300007270E0000E4E1D0397189800038FED00007270E81CB872C221145801009528EA805FCE5531CC305D2628D124868783A1C0D04E12142C0AC0DA02FCAD35E9E80EC077740B01F03D05F81E805B00B8015602CC046C1903C01542005481041C80AA0178020A0DC06C809702300B205C0E407C010FFF0B44290A43164215A201900CAE8340F81E86F03300B6017002AC05981D61A07802A8400A902087404700BC010506E036404B811805902E07203E0087FF85B023E38384027C6B2D536E8E6832363420756E746F7563686564E096B0820780BA82043854B0840000078054BA8400000438AEBCD7810273C5882AE6345801D54A958381028685415F41433323E3838401E8480022B59C83676572536E8741433320363430E189B584473B80009F8106AEC0D7810373C5885473710CC37973B48381028881008685415F41414363A28511B056E50023E3838401458555536E8741414320333230E189B584473B80009F8106AEC0D7810473C588AFC1FA4E51682F828381119C8100868A535F48444D562F50475322B59C83676572536E8D446173204EC3B67469677374656D8086624083503480AEB3D7810573C588898954B6B4650A858381118881009C8100868A535F48444D562F50475322B59C836765726D8086624083503480AEACD7810673C588041233435D9989A58381118881009C8100868A535F48444D562F5047536D8086624083503480AEBFD7810773C588187BB1D39D83E0818381118881009C8100868A535F48444D562F504753536E9068656172696E672D696D7061697265646D8086624083503480EC453F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001F43B6754A0AE78100A34A04820000800B77FFC82440E1FC3CC03F1C955E1861861FF3ABE7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7DFFCEAF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F7FF3ABE7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7DFFCEAF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F7FF3ABE7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7DFFCEB94F8E2448912244000000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF01F0000000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE03E0000000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC07C00021300680CF510EDD9572307BE2607A76CD1EBBB93000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC07C00025900CA0135E38078030D638017BFE3485FAA7002CC7E7ADD4FEB7108D6A2C5B55351E613B4A94451EB5A4FA1E614773297872C33EC64DED6D659FD4A4617F8BE2A4E416474AE476B12E87A03F6AA4A5B0EA527A54B8981109E06000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC07C00025800C8CBF5CD6C08428CDDF673F48BC47AB5E6A4457F5EC5C6026356EBEF6589A5F4D48DE5C21F919909B8C7B3790E5E21C39186D595B16EBDA0DE48CA948843ED211F8E14F8135B31C7D4D9323FD23709107DA7A4EA4558F5000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC0EF88EC0100000000000ABD00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114D9B74AC4DBB8C53AB841549A96653AC8210034DBB8C53AB841654AE6B53AC8210804DBB8B53AB841043A77053AC8132EC01000000000000060000000000001254C36741067373BB63C08F63C988B0DA37E1082D82BB68CA813267C8A645A3855449544C45448791533032453030202D204B6F6D706C657474447A83676572448481017373C263C08F63C9882BA5C584E7B2BD4668CA813267C8AD45A3855449544C45448798533032453031202D205765636873656C2853776974636829447A83676572448481017373C263C08F63C988B5EC3A142B4E748868CA813267C8AD45A3855449544C45448798533032453032202D204B756368656E28436F62626C657229447A83676572448481017373BB63C08F63C9884C3FD37500D4E9BB68CA813267C8A645A3855449544C45448791533032453033202D20416D6172696C6C6F447A8367657244848101
Basierend auf den Specs müsste ich mich hier durch arbeiten und das als "Code" umsetzen.
Der Teil "Elements semantic" ist mir soweit klar, da es die Struktur ist (verschachteltes System).
Den oberen Teil "EBML principle", insbesondere "Element ID coded with an UTF-8 like system " und "Data size, in octets, is also coded with an UTF-8 like system" sind mir nicht so recht klar.
Bei der Beispiel Datei befinden sich vor dem "ersten" Top-Level Element (EBML mit der ID: 1A 45 DF A3) noch Daten, was ja anscheinend kein Problem ist(Datei spielt ordentlich ab).
Das zweite Element (EBMLVersion mit der ID: 42 86) befindet sich, nach nur einem Byte, direkt dahinter.
Was bedeutet also das eine Byte(A3) zwischen den Elementen?
Wie und mit welchen Bytes fange ich an und wie arbeite ich mich dann durch die Daten-Struktur?
Ich versuche abundzu den source code von Mosu zu lesen, leider kenne ich mit C-undCo nicht aus, ebenso wäre es sicher von Vorteil den Code sich mal selber zu kompileren und zu testen.
Aber soweit ich verstehe bräuchte man da VisualStudio (oder so). Das habe ich nicht und es kostet mir auch zu viel.
Warum nicht MKVInfo oder ffmpeg zum Parsen einsetzen?
Warum nicht MKVInfo oder ffmpeg zum Parsen einsetzen?
Ganz einfach:
Die parsen nicht so wie man es selber will.
Ich würde gerne auf externe Software verzichten.
Ich liebe Herausforderungen.
Werde mir das aber mal für ffmpeg vielleicht anschauen.
Ich liebe Herausforderungen.
Es könnte in Arbeit ausarten ... :ani_lol:
Ich kann mich noch an solche Herausforderungen beim Parsen von AC3 erinnern: Da gab es Bitfelder mit unterschiedlicher Bedeutung und Länge, je nach dem wie ein paar vorherige Bits besetzt waren.
Encodierung "wie UTF-8" würde ich so verstehen, dass die meisten Daten 8 bit Länge haben, aber bestimmte Bytes dienen als Einleitung für Daten mit 16 oder gar 24 bit Länge. Vielleicht findest du auch irgendwo nochmal die Beschreibung, wie das Grafikformat PCX nur bei Bedarf Lauflängencodierung (RLE) durchführt, das war ein ähnlicher Ansatz.
Es könnte in Arbeit ausarten ... :ani_lol:
Das tut es doch immer.
Ich habe mir mal ffmpeg runtergeladen, und wow, eine 39mb große datei die dann eine winzige aufgabe erfüllen soll. Das finde ich nicht so dolle.
Naja vielleicht hat ja der ein oder andere Zeit und Lust hier mit zu denken.
Bei meiner Beispiel Datei scheint beim kopieren der Bytes was schief gegangen zu sein.
So wie es in den Specs steht beginnt eine Matroska Datei immer mit diesen 4 Byte [1A45DFA3]
[COLOR='#FFA07A']1A45DFA3[/COLOR][COLOR='#FF0000']A3[/COLOR][COLOR='#FFA500']4286[/COLOR]810142F7810142F2810442F381084282886D6174726F736B614287810442858102185380670100000000002E84114D9B749E4DBB8C53AB84114D9B7453AC822D384DBB8C53AB841254C36753AC822D78EC01000000000000060000000000001043A7704EFE45B949E545BC88B0DA37E1082D82BB45BD810045DB810145DD8101B6409E73C488CE38E9122A1BCF8E9181009285528124F080988100459881016E67909D27AFBC820B620EADAD3B492E4CE33980A08598533032453031202D205765636873656C2853776974636829437C83676572B6CB73C488ADC820E75D84F6BE9181009285528124F080988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2031437C83676572B640A673C4887D81E369A80125B89185528124F0809285E33CA4A7C0988101459881016E67909D27AFBC820B620EADAD3B492E4CE33980A08598533032453031202D205765636873656C2853776974636829437C83676572B6CF73C488A3F6C059A6613F0A9185528124F0809285E33CA4A7C0988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2032437C83676572B640A873C488C7E6350DD9919CDA9185E33CA4A7C0928601A8A4432F80988101459881016E67909D27AFBC820B620EADAD3B492E4CE33980A08598533032453031202D205765636873656C2853776974636829437C83676572B6D073C4886D682ABFD662474A9185E33CA4A7C0928601A8A4432F80988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2033437C83676572B640AA73C488AFA65B08C69DE32F918601A8A4432F809286021A9C1495C0988101459881016E67909D27AFBC820B620EADAD3B492E4CE33980A08598533032453031202D205765636873656C2853776974636829437C83676572B6D173C48868B60A482DF68B0A918601A8A4432F809286021A9C1495C0988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2034437C83676572B640AA73C4880F26F97CB021217E9186021A9C1495C0928602870862CD55988101459881016E67909D27AFBC820B620EADAD3B492E4CE33980A08598533032453031202D205765636873656C2853776974636829437C83676572B6D173C488EE9BC0676DD2B1D39186021A9C1495C0928602870862CD55988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2035437C83676572B6409E73C4883611C7E29A43B6BA91810092855E285B5500988100459881016E67909CB953A3B3F580C98E9F2B05138D627480A08598533032453032202D204B756368656E28436F62626C657229437C83676572B6CB73C4884D3AD20DE59D8E3B91810092855E285B5500988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2031437C83676572B640A873C488B6A24A2524F416AF91855E285B5500928601020052F8C0988101459881016E67909CB953A3B3F580C98E9F2B05138D627480A08598533032453032202D204B756368656E28436F62626C657229437C83676572B6D073C4887D8CD1FF5817596291855E285B5500928601020052F8C0988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2032437C83676572B640AA73C488E32038CF2BFB2B53918601020052F8C092860178FFE52707988101459881016E67909CB953A3B3F580C98E9F2B05138D627480A08598533032453032202D204B756368656E28436F62626C657229437C83676572B6D173C48816B62CD0E33ABA7C918601020052F8C092860178FFE52707988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2033437C83676572B640AA73C488E46F347964A2447891860178FFE52707928601E904065BD5988101459881016E67909CB953A3B3F580C98E9F2B05138D627480A08598533032453032202D204B756368656E28436F62626C657229437C83676572B6D173C488A819B3897247DC3B91860178FFE52707928601E904065BD5988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2034437C83676572B640AA73C488D2D6997CEF5430AA918601E904065BD59286028C8777ADDC988101459881016E67909CB953A3B3F580C98E9F2B05138D627480A08598533032453032202D204B756368656E28436F62626C657229437C83676572B6D173C488F229024D44705DEB918601E904065BD59286028C8777ADDC988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2035437C83676572B6409773C4882B1C0549F6A1F6C991810092854D7963D1AA988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C80998591533032453033202D20416D6172696C6C6F437C83676572B6CB73C4883BC8EDB24369D13491810092854D7963D1AA988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2031437C83676572B6409F73C48823915C209DC0EADA91854D7963D1AA9285D3F3A96DEA988101459881016E6790B78B392C49586DBEB9CE9F06600A3F5C80998591533032453033202D20416D6172696C6C6F437C83676572B6CF73C488A5514D6C65350BA891854D7963D1AA9285D3F3A96DEA988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2032437C83676572B640A173C4884AEFBA856E6F754A9185D3F3A96DEA928601746F787780988101459881016E6790B78B392C49586DBEB9CE9F06600A3F5C80998591533032453033202D20416D6172696C6C6F437C83676572B6D073C4880EB7B5827B04C9E39185D3F3A96DEA928601746F787780988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2033437C83676572B640A373C488DA4B1A270F2CBA2D918601746F787780928601CAF3562F95988101459881016E6790B78B392C49586DBEB9CE9F06600A3F5C80998591533032453033202D20416D6172696C6C6F437C83676572B6D173C48842F1C645A7F7BD36918601746F787780928601CAF3562F95988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2034437C83676572B640A373C488235F2DF00F2939CF918601CAF3562F9592860243DCA70E00988101459881016E6790B78B392C49586DBEB9CE9F06600A3F5C80998591533032453033202D20416D6172696C6C6F437C83676572B6D173C488E827B11E848DB1FC918601CAF3562F9592860243DCA70E00988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2035437C8367657245B941AD45BC882BA5C584E7B2BD4645BD810045DB810045DD8101B6CB73C4884083F98BD56638939181009285528124F080988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2031437C83676572B6CF73C48887D27D4BAAD10FE69185528124F0809285E33CA4A7C0988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2032437C83676572B6D073C488A86B14FED8A5E8D89185E33CA4A7C0928601A8A4432F80988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2033437C83676572B6D173C488490A1345C17EB94C918601A8A4432F809286021A9C1495C0988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2034437C83676572B6D173C4880FEF62698FA4C6D09186021A9C1495C0928602870862CD55988100459881016E67909D27AFBC820B620EADAD3B492E4CE339809A8592533032453031202D204B61706974656C2035437C8367657245B941AF45BC88B5EC3A142B4E748845BD810045DB810045DD8101B6CB73C488D9215ADDC46A788691810092855E285B5500988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2031437C83676572B6D073C48840744B6F113604E791855E285B5500928601020052F8C0988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2032437C83676572B6D173C488AADD726D96D623D0918601020052F8C092860178FFE52707988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2033437C83676572B6D173C488450D3CFC1C0DBEAA91860178FFE52707928601E904065BD5988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2034437C83676572B6D173C48882DFE996CF5A1079918601E904065BD59286028C8777ADDC988100459881016E67909CB953A3B3F580C98E9F2B05138D6274809A8592533032453032202D204B61706974656C2035437C8367657245B941AD45BC884C3FD37500D4E9BB45BD810045DB810045DD8101B6CB73C488A6304E88CEBA4F4F91810092854D7963D1AA988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2031437C83676572B6CF73C4880EA366AE0F20DE5E91854D7963D1AA9285D3F3A96DEA988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2032437C83676572B6D073C4887DB5682DCB498FBF9185D3F3A96DEA928601746F787780988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2033437C83676572B6D173C488D4957B08917ADF14918601746F787780928601CAF3562F95988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2034437C83676572B6D173C4886B3C4DAC8B964680918601CAF3562F9592860243DCA70E00988100459881016E6790B78B392C49586DBEB9CE9F06600A3F5C809A8592533032453033202D204B61706974656C2035437C83676572EC01000000000000C4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001549A966F82AD7B1830F42404D80A36C696265626D6C2076312E332E34202B206C69626D6174726F736B612076312E342E355741A36D6B766D657267652076392E382E302028274B75676C626C696473272920363462697444898442000000446188071065FB1799860073A49085E768C071C40C71A7B747ECDF9A68821654AE6B429AAE4131D7810173C588C0B1CFBEC5A2E4AD8381019C81006DE78101868F565F4D504547342F49534F2F41564363A240D301640029FFE1003327640029AC7B01E0089F9701C800009C68001D4C071300007270E0000E4E1D0397189800038FED00007270E81CB872C221145801009528EA805FCE5531CC305D2628D124868783A1C0D04E12142C0AC0DA02FCAD35E9E80EC077740B01F03D05F81E805B00B8015602CC046C1903C01542005481041C80AA0178020A0DC06C809702300B205C0E407C010FFF0B44290A43164215A201900CAE8340F81E86F03300B6017002AC05981D61A07802A8400A902087404700BC010506E036404B811805902E07203E0087FF85B023E38384027C6B2D536E8E6832363420756E746F7563686564E096B0820780BA82043854B0840000078054BA8400000438AEBCD7810273C5882AE6345801D54A958381028685415F41433323E3838401E8480022B59C83676572536E8741433320363430E189B584473B80009F8106AEC0D7810373C5885473710CC37973B48381028881008685415F41414363A28511B056E50023E3838401458555536E8741414320333230E189B584473B80009F8106AEC0D7810473C588AFC1FA4E51682F828381119C8100868A535F48444D562F50475322B59C83676572536E8D446173204EC3B67469677374656D8086624083503480AEB3D7810573C588898954B6B4650A858381118881009C8100868A535F48444D562F50475322B59C836765726D8086624083503480AEACD7810673C588041233435D9989A58381118881009C8100868A535F48444D562F5047536D8086624083503480AEBFD7810773C588187BB1D39D83E0818381118881009C8100868A535F48444D562F504753536E9068656172696E672D696D7061697265646D8086624083503480EC453F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001F43B6754A0AE78100A34A04820000800B77FFC82440E1FC3CC03F1C955E1861861FF3ABE7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7DFFCEAF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F7FF3ABE7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7DFFCEAF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F7FF3ABE7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7CF9F3E7DFFCEB94F8E2448912244000000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF01F0000000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE03E0000000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC07C00021300680CF510EDD9572307BE2607A76CD1EBBB93000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC07C00025900CA0135E38078030D638017BFE3485FAA7002CC7E7ADD4FEB7108D6A2C5B55351E613B4A94451EB5A4FA1E614773297872C33EC64DED6D659FD4A4617F8BE2A4E416474AE476B12E87A03F6AA4A5B0EA527A54B8981109E06000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC07C00025800C8CBF5CD6C08428CDDF673F48BC47AB5E6A4457F5EC5C6026356EBEF6589A5F4D48DE5C21F919909B8C7B3790E5E21C39186D595B16EBDA0DE48CA948843ED211F8E14F8135B31C7D4D9323FD23709107DA7A4EA4558F5000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC78F1E3BBBBBBBB80000000000000000000000000000000000000000000000007777776DB6DB6DB7CF9AD6B5AD6B5F3E7CF9F3E7CF9F3E7CF9F3E7CF800000000778F1E3C7777777770000000000000000000000000000000000000000000000000EEEEEEDB6DB6DB6F9F35AD6B5AD6BE7CF9F3E7CF9F3E7CF9F3E7CF9F000000000EF1E3C78EEEEEEEEE0000000000000000000000000000000000000000000000001DDDDDDB6DB6DB6DF3E6B5AD6B5AD7CF9F3E7CF9F3E7CF9F3E7CF9F3E000000001DE3C78F1DDDDDDDDC0000000000000000000000000000000000000000000000003BBBBBB6DB6DB6DBE7CD6B5AD6B5AF9F3E7CF9F3E7CF9F3E7CF9F3E7C000000003BC0EF88EC0100000000000ABD00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000114D9B74AC4DBB8C53AB841549A96653AC8210034DBB8C53AB841654AE6B53AC8210804DBB8B53AB841043A77053AC8132EC01000000000000060000000000001254C36741067373BB63C08F63C988B0DA37E1082D82BB68CA813267C8A645A3855449544C45448791533032453030202D204B6F6D706C657474447A83676572448481017373C263C08F63C9882BA5C584E7B2BD4668CA813267C8AD45A3855449544C45448798533032453031202D205765636873656C2853776974636829447A83676572448481017373C263C08F63C988B5EC3A142B4E748868CA813267C8AD45A3855449544C45448798533032453032202D204B756368656E28436F62626C657229447A83676572448481017373BB63C08F63C9884C3FD37500D4E9BB68CA813267C8A645A3855449544C45448791533032453033202D20416D6172696C6C6F447A8367657244848101
Um eine EBML Element ID auszulesen muss man deren länge ermitteln.
Dies geschieht mit dem ersten Byte [1A].
[1A] als Binär sieht dann so aus [000[COLOR='#00FF000']1[/COLOR] 1010]
Die ersten drei "0"en werden gezählt und mann muss noch plus 1 addieren: man erhält 4.
(Die grüne 1 ist als "Stop"marke zu betrachten, hier enden die "0"en)
Die EBML ID ist also 4 Bytes lang was genau passt für das Element "EBML".
Nach der Element-ID folgt die Datengröße
Element IDs (also called EBML IDs) are outlined as follows, beginning with the ID itself, followed by the Data Size, and then the non-interpreted Binary itself:
Wie viele Bytes das dann genau sind kann ich aus dem obrigen englishen satz nicht genau ableiten.
Für die Beispiel Datei wäre es ja nur ein Byte [A3] denn die nächsten beiden [42][86] gehören ja schon wieder zum nächsten EBML Element(EBMLVersion).
[A3] als Binär sieht es dann so aus [1010 0011] Es gibt keine "führenden "0"en somit erhält man 1 als Länge.
Welches 1 Byte müsste ich nun lesen, das [A3] selber?
Hier hänge ich noch etwas fest.
Ich kann mich noch an solche Herausforderungen beim Parsen von AC3 erinnern: Da gab es Bitfelder mit unterschiedlicher Bedeutung und Länge, je nach dem wie ein paar vorherige Bits besetzt waren.
Wenn genau dokumentiert ist welche Bytes andere Bytes in bestimmter Weise beeinflussen mag das sicher alles recht kompliziert sein, aber eben auch logisch und nachvollziehbar. Und dann sollte es auch "einfach" zu programmieren sein.
Encodierung "wie UTF-8" würde ich so verstehen, dass die meisten Daten 8 bit Länge haben, aber bestimmte Bytes dienen als Einleitung für Daten mit 16 oder gar 24 bit Länge. Vielleicht findest du auch irgendwo nochmal die Beschreibung, wie das Grafikformat PCX nur bei Bedarf Lauflängencodierung (RLE) durchführt, das war ein ähnlicher Ansatz.
mmh... hört sich nicht so recht nach Matroska an :-). Dort wird oft auf "big-endian" hingewiesen. Leider ist mir das auch nicht 100% verständlich.
Hat halt was mit der Bit-order oder so zu tun oder so...keine Ahnung.
Für die Beispiel Datei wäre es ja nur ein Byte [A3] denn die nächsten beiden [42][86] gehören ja schon wieder zum nächsten EBML Element(EBMLVersion).
[A3] als Binär sieht es dann so aus [1010 0011] Es gibt keine "führenden "0"en somit erhält man 1 als Länge.
Welches 1 Byte müsste ich nun lesen, das [A3] selber?
A3 ist binär 1010 0011. In diesem Fall muß also zur Größenermittlung nur A3 gelesen werden, da es keine führenden Nullen gibt. Wie bei den Element-IDs fällt alles bis einschließlich der ersten 1 weg, also aus 1010 0011 wird 0010 0011. 0010 0011 binär sind 35 dezimal. Das heißt, dieses Element hat 35 Bytes an Inhalt. Also 4 Byte ElementID (1A45DFA3) + 1 Byte Elementgräße (A3) + 35 Byte an Daten, in diesem Fall Unterelemente. Insgesamt 40 Bytes.
Ganz riesen herzlichen dank, ich denke das könnte jetzt der durchbruch sein.
Doch noch gleich ne frage.
Wenn das Size-Byte nicht [A3] ist sondern sagen wir [01], was binär [0000 0001] ist dann habe ich 7 "0"en, und damit eine länge von 8 Bytes.
Wird das Size Byte dann NICHT mit gelesen?
Das "Size Byte" zählt zu den 8 Bytes dazu, fällt aber gleichzeitig natürlich komplett weg, weil alles bis einschließlich dem erst 1er Bit wegfällt. Also liest man dann nur die 7 Bytes, die nach dem Size Byte folgen und berechnet daraus die Größe des Inhalts.
Das ist aber auch recht anschaulich in den Matroska-Specs erklärt:
https://www.matroska.org/technical/specs/index.html
Wenn da die Erklärungen nicht ausreichen, schau mal in die Alternativen Specs, die gerade zur Standardisierung erarbeitet werden:
https://tools.ietf.org/html/draft-lhomme-cellar-matroska-01
https://github.com/Matroska-Org/e…cation.markdown
Das "Size Byte" zählt zu den 8 Bytes dazu, fällt aber gleichzeitig natürlich komplett weg, weil alles bis einschließlich dem erst 1er Bit wegfällt. Also liest man dann nur die 7 Bytes, die nach dem Size Byte folgen und berechnet daraus die Größe des Inhalts.
Ok, das macht Sinn.
Das ist aber auch recht anschaulich in den Matroska-Specs erklärt:
https://www.matroska.org/technical/specs/index.html
Ja das schon, aber leider war ich im English Unterricht sehr oft Kreide holen, daher verstehe ich nicht immer den sinn. Google Translater ist zwar gut aber auch nicht immer richtig. Dazu kommt dann noch das manche Begriffe schon recht spezifisch sind und man müsste sich da auch erst noch bilden.
Wenn da die Erklärungen nicht ausreichen, schau mal in die Alternativen Specs, die gerade zur Standardisierung erarbeitet werden:
https://tools.ietf.org/html/draft-lhomme-cellar-matroska-01
https://github.com/Matroska-Org/e…cation.markdown
Danke für die beiden Links, sind echt gute Hilfen.
Hi sneaker2
Könntest du mir vielleicht bei einem Problem helfen?
Es geht um die Spieldauer einer Matroska Datei.
In der "Info" gibt es das Element: Duration, aber dieser Wert stimmt eigentlich nie. Denn Media Info und die Player zeigen eine andere Spieldauer.
Mosu meinte ich müsste das selber errechnen...da fällt mir nur die FPS und die Anzahl der Frames ein. Wie und woher würde ich diese Werte aus der Matroska Datei bekommen?
Ich hatte geshen das "Cluster" einen Zeitstempel haben, und dieser auch "mandatory" ist.
Es scheint ein zuverlässiger Wert zu sein. Wie berechnet sich aber die Dauer eines Clusters?
Und ist es schlau das mit den Clustern zu machen, man könnte zum letzten Cluster parsen und dann dessen Dauer addieren.
LG
hubble
In der "Info" gibt es das Element: Duration, aber dieser Wert stimmt eigentlich nie. Denn Media Info und die Player zeigen eine andere Spieldauer.
Für Audiotracks, Video oder beide?
Frames und Dauer zeigen ffmpeg/ffprobe an.
Für Audiotracks, Video oder beide?
Die Duration aus der SegmentInfo meinte ich, was die jetzt genau wiederspiegelt, ob Video oder Audio weis ich nicht genau.
Es scheint das dort der "größte" Wert gespeichert wird, der bei mehreren Spuren gefunden wurde.
Wichtig für mich ist die Video-Dauer.
Danke für den Hinweis, wollte aber gerne wieder ohne ffmpeg und Co das bewerkstelligen.
Es geht um die Spieldauer einer Matroska Datei.
In der "Info" gibt es das Element: Duration, aber dieser Wert stimmt eigentlich nie. Denn Media Info und die Player zeigen eine andere Spieldauer.
Naja, da müßte man zuerst mal eine Definition dessen haben, was genau "die Spieldauer" eigentlich sein soll. Mit "fps" ist schlecht, denn Matroska ist bekanntlich variabel.
Anfang des ersten Blocks bis letzter Block (+Default Duration o.ä.) hört sich vernünftig an, aber dann ist die Frage, welche Tracks man sich anschauen möchte, denn das ist ja für jeden anders. Mkvmerge taggt da auch jeden Track einzeln mit dieser Info. Also statt "Definition" vielleicht noch eher die Frage nach dem Zweck... Ich wüßte nicht, warum da MediaInfo oder irgendein Player das Maß der Dinge sein sollten.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!