{"id":13542336,"url":"https://github.com/vi/mkvparse","last_synced_at":"2025-04-15T11:32:26.862Z","repository":{"id":2518507,"uuid":"3494359","full_name":"vi/mkvparse","owner":"vi","description":"Simple Python matroska (mkv) reading library, also mkv2xml and xml2mkv","archived":false,"fork":false,"pushed_at":"2022-07-04T23:50:31.000Z","size":91,"stargazers_count":61,"open_issues_count":0,"forks_count":16,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-28T21:03:00.982Z","etag":null,"topics":["ebml","linux","matroska","matroska-files","mkv","mkv2mkv","multimedia","python","video","webm","xml","xml2mkv"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-02-20T14:29:28.000Z","updated_at":"2025-03-04T20:43:19.000Z","dependencies_parsed_at":"2022-07-08T19:39:09.463Z","dependency_job_id":null,"html_url":"https://github.com/vi/mkvparse","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vi%2Fmkvparse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vi%2Fmkvparse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vi%2Fmkvparse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vi%2Fmkvparse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vi","download_url":"https://codeload.github.com/vi/mkvparse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249061137,"owners_count":21206456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ebml","linux","matroska","matroska-files","mkv","mkv2mkv","multimedia","python","video","webm","xml","xml2mkv"],"created_at":"2024-08-01T10:01:05.085Z","updated_at":"2025-04-15T11:32:26.630Z","avatar_url":"https://github.com/vi.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"Simple easy-to-use hacky matroska parser\n\nDefine your handler class:\n\n    class MyMatroskaHandler(mkvparse.MatroskaHandler):\n        def tracks_available(self):\n            ...\n\n        def segment_info_available(self):\n            ...\n\n        def frame(self, track_id, timestamp, data, more_laced_blocks, duration, keyframe_flag, invisible_flag, discardable_flag):\n            ...\n\nand `mkvparse.mkvparse(file, MyMatroskaHandler())`\n\n\nSupports lacing and setting global timecode scale, subtitles (BlockGroup). Does not support cues, tags, chapters, seeking and so on. Supports resyncing when something bad is encountered in matroska stream.\n\nAlso contains example of generation of Matroska files from python\n\nAlso contains mkv2xml and xml2mkv: tools that convert Matroska files to/from XML plaintext. [Example XML file](http://vi-server.org/pub/xml2mkv_test.xml) . Example command:\n\n    $ cat test3.mkv | ./mkv2xml | ./xml2mkv | mplayer - # convert to XML and back and play\n\nSubtitles should remain as text, binary data gets encoded to hex.\n\n\nLicence=MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvi%2Fmkvparse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvi%2Fmkvparse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvi%2Fmkvparse/lists"}