Open lazka opened 10 years ago
Original comment by Ben Ockmore (Bitbucket: LordSputnik, GitHub: LordSputnik):
I've created a branch called "matroska" for steps 1-4, so that code can be reviewed and shared without polluting the default branch.
Original comment by Ben Ockmore (Bitbucket: LordSputnik, GitHub: LordSputnik):
I've begun work on this.
My plan is as follows:
Useful documents:
Original comment by Christoph Reiter (Bitbucket: lazka, GitHub: lazka):
From Micah.Wa...@gmail.com on January 18, 2013 00:31:15
I agree. Matroska files are far more versatile and widely supported than flac or ogg in some applications (like managing both video and audio libraries with a variety of codecs, and expecting them to play on a commercial device). Because of its potential influence on the world's use of open/free technology, I would place supporting Matroska meta-tags for mutagen and Ex-Falso above providing full mp4 container support.
Here is some code from the exaile project: https://github.com/exaile/exaile/blob/master/xl/metadata/_matroska.py
Still on the list somewhere?
yes
Might be interesting: https://github.com/QBobWatson/python-ebml . It's GPLv3, though.
I'm starting to need WebM manipulation. Is there any way I'd be able to speed this along?
https://github.com/exaile/exaile/blob/master/xl/metadata/_matroska.py doesn't work
72057594037927935 1
Traceback (most recent call last):
File "test.py", line 164, in parse
key, type_ = self.tags[id]
KeyError: 524531317
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "test.py", line 287, in <module>
parse('/home/lud4ik/work/chats/audio/1348379-1570779757.webm')
File "test.py", line 282, in parse
return Ebml(location, MatroskaTags).parse()
File "test.py", line 186, in parse
value = self.parse(tell, tell + size)
File "test.py", line 166, in parse
self.seek(size, 1)
File "test.py", line 57, in seek
self.file.seek(offset, mode)
OSError: [Errno 22] Invalid argument
What is the proper condition if I want parse only header with metadata, not blocks of actual data (audio)? The "Cluster" element contains data, so I must read everything before it and stop until I find it?
The last commit to the matroska
branch was in 2014. Anyone know the state of the implementation by @LordSputnik, and whether there were major challenges, or if it is even still compatible with how mutagen works today?
In the related ticket for Picard (link) there has been some discussion about whether to tag on the container or the stream level. As I understand the docs, in the case of mp4
there can only be container level tags, and only the first track is considered. Would container level tagging also be a sufficient for Matroska?
This was quite some time ago, but from what I remember the parsing was trickier than I expected. Sorry I can't be more helpful!
I don't think there would be much lost if somebody were to pick this up and start from scratch.
Originally reported by: Christoph Reiter (Bitbucket: lazka, GitHub: lazka)
From steven.strobe.cc@gmail.com on June 16, 2009 08:28:39
Original issue: http://code.google.com/p/mutagen/issues/detail?id=3