Support Matroska
at-wat opened this issue · 10 comments
- Plan A
- Move Matroska part of current
webm
package tomkv
package - Add wrapper for
webm
having the compatible interface with the current package overmkv
package
- Move Matroska part of current
- Plan B ✔️
TODO
@notedit Matroska is pretty flexible and has huge amount of the tags. I'm not aggressively expanding mkv support at now, but adding tags and features when needed.
Feature requests and/or PRs are very welcomed.
All ebml tags excepting deprecated ones are added by #136, so I suppose this package can handle full Matroska format now.
Hello,
I tried to unmarshal test1.mkv
, test4.mkv
, test5.mkv
and test6.mkv
from https://github.com/Matroska-Org/matroska-test-files#test-files. I receive io.ErrUnexpectedEOF
for 1, 5 and 6. Test 4 is a special one and it gives me unmarshalling element 0x20a0a0a0a: unknown element
because it contains some garbage (0b00001010
, 0x0a
).
I didn't know there is a test data repository.
I'll dig into the errors.
It seems be a bug in Block Unlacer.
test1.mkv
, test2.mkv
, test3.mkv
, test5.mkv
, test6.mkv
, test8.mkv
will be supported by #140 and #142.
test4.mkv
seems having garbage data 0A0A0A...
which I think it's not explicitly defined in the specifications.
Same question was posted to the official mailing list, but not answered: https://lists.matroska.org/pipermail/matroska-devel/2015-December/004918.html
test4.mkv
is not playable in a lot of media players (GNOME Videos (totem)
, MPC-BE
, Windows Media Player
). Windows 10 Movies and TV app
and vlc
seem support it.
Looks good. test4
is strange to me as well. I checked libebml and it seemed to simply skip invalid data until it finds a valid id.
The official test files can be parsed by this package now.
Damaged mkv (test7.mkv
) is currently not supported and will be tracked by the new issue #146.
I found an other thread on the mailing list from 2010 which describes the reasoning behind the garbage data.
- https://lists.matroska.org/pipermail/matroska-devel/2010-September/003790.html
- https://lists.matroska.org/pipermail/matroska-devel/2010-September/003791.html
- https://lists.matroska.org/pipermail/matroska-devel/2010-September/003793.html
- https://lists.matroska.org/pipermail/matroska-devel/2010-September/003794.html