Files
sunnypilot/tools/lib/mkvparse
George Hotz 1295cfe06c Using lgtm.com and fixing found alerts (#1452)
* lgtm in readme, and mac nui fixes

* call super inits in radars

* unused imports, dup lines

* more radars, more unused imports

* pass CP into RadarInterfaceBase

* more fixups

* unused imports

* delete unused lines

* ugh, new unused import

Co-authored-by: George Hotz <geohot@gmail.com>
2020-05-02 12:07:34 -07:00
..
2020-01-17 10:07:22 -08:00
2020-01-17 10:07:22 -08:00
2020-01-17 10:07:22 -08:00
2020-01-17 10:07:22 -08:00

Simple easy-to-use hacky matroska parser

Define your handler class:

class MyMatroskaHandler(mkvparse.MatroskaHandler):
    def tracks_available(self):
        ...

    def segment_info_available(self):
        ...

    def frame(self, track_id, timestamp, data, more_laced_blocks, duration, keyframe_flag, invisible_flag, discardable_flag):
        ...

and mkvparse.mkvparse(file, MyMatroskaHandler())

Supports 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.

Also contains example of generation of Matroska files from python

Subtitles should remain as text, binary data gets encoded to hex.

Licence=MIT