benrr101 / node-taglib-sharp

A node.js port of mono/taglib-sharp
GNU Lesser General Public License v2.1
41 stars 10 forks source link

Support for webm #48

Open Gabriel-Alves-Cunha opened 2 years ago

Gabriel-Alves-Cunha commented 2 years ago

Hi, would be great to have support for ".webm". It is an free standard that is being used more and more as it has great compression while maintaining great quality!

benrr101 commented 2 years ago

That's a good suggestion 👍 Right now, the target is to implement the formats that are in mono/taglib-sharp first (since I can mostly copy their code over). Unfortunately, they have not added support for webm yet, so I'll have to do some original research to get support for webm added. Nevertheless, I'll see to it that webm support gets added soon™

If you're interested in contributing, I'd be happy to take a PR, too!

benrr101 commented 2 years ago

Good news, it turns out webm is a subset of Matroska format. This format is already supported in taglib#, so I should be able to port it over relatively easily. I'll make this my next priority.

benrr101 commented 2 years ago

Wanted to give a new update ... so it turns out the code for matroska support is not good and is requiring me to rewrite it from mostly scratch. On the plus side, I now totally understand how EBML files work. On the downside, it's gonna take longer than I hoped. Many apologies and it is still the next thing I'll be releasing.

Gabriel-Alves-Cunha commented 2 years ago

No need to apologize, my dude ( ͡❛ ͜ʖ ͡❛)✌. You're doing this for free, so don't lose sleep over this. I wish I could help, but I'm still new at this and I saw the code and was just lost, lol... maybe if there is something simple...

benrr101 commented 2 years ago

Finally getting back into the swing of working on this one. I pushed v5 a couple weeks ago that adds ogg support, and I've been slowly working on EBML/webm/matroska support the past couple weekends. So far, the code can read EBML headers and track properties. Attachments are coming soon, then I can dive into figuring out how to represent tags and work with them via the unified tagging framework (which looks to be a nightmare unless I just say screw it, we're gonna use a naive approach).

benrr101 commented 1 year ago

Good news! I've finally got read-only support published for matroska/webm files!

Gabriel-Alves-Cunha commented 1 year ago

That's great! Thanks for your hard work!! S2