Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Matroska #84

Closed
3 tasks done
at-wat opened this issue Dec 14, 2019 · 10 comments
Closed
3 tasks done

Support Matroska #84

at-wat opened this issue Dec 14, 2019 · 10 comments

Comments

@at-wat
Copy link
Owner

at-wat commented Dec 14, 2019

  • Plan A
    • Move Matroska part of current webm package to mkv package
    • Add wrapper for webm having the compatible interface with the current package over mkv package
  • Plan B ✔️

TODO

@notedit
Copy link

notedit commented Apr 5, 2020

Hi @at-wat , What's the state about this?

@at-wat
Copy link
Owner Author

at-wat commented Apr 5, 2020

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

@at-wat
Copy link
Owner Author

at-wat commented Feb 15, 2021

All ebml tags excepting deprecated ones are added by #136, so I suppose this package can handle full Matroska format now.

@at-wat at-wat closed this as completed Feb 15, 2021
@nerg4l
Copy link

nerg4l commented Feb 15, 2021

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

@at-wat
Copy link
Owner Author

at-wat commented Feb 15, 2021

I didn't know there is a test data repository.
I'll dig into the errors.

@at-wat at-wat reopened this Feb 15, 2021
@at-wat
Copy link
Owner Author

at-wat commented Feb 15, 2021

It seems be a bug in Block Unlacer.

@at-wat
Copy link
Owner Author

at-wat commented Feb 16, 2021

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.

@nerg4l
Copy link

nerg4l commented Feb 16, 2021

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.

@at-wat
Copy link
Owner Author

at-wat commented Feb 16, 2021

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.

@at-wat at-wat closed this as completed Feb 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants