danielgtaylor / arista

Arista Transcoder
http://www.transcoder.org/
GNU Lesser General Public License v2.1
120 stars 19 forks source link

Support OggCELT #110

Open allquixotic opened 13 years ago

allquixotic commented 13 years ago

Hi,

I was able to add Ogg/CELT support to your software by adding about 4 or 5 lines of code in arista-gtk. I just searched for FLAC, and everywhere I saw "flacenc" or similar, I added a "celtenc":"CELT" or "CELT":"celtenc". Then of course I had to add "CELT" to the list of acodecs for Ogg container.

You might want to do this in the official release so others will have the ability to use CELT as well. It's a great codec for highly compressed, high quality music for squeezing large volumes of music onto space-deprived Micro SD cards! Wider-spread decoder support in media players is coming around, too, but it's nowhere near as widely-supported as Vorbis today.

And those who do support it often only know about the older versions, which have much lower audio quality and more bugs. Today (since February 2011), CELT 0.11.x is in a "soft freeze" of the bitstream format, making it rather unlikely that another incompatible bitstream format will come. And the audio quality has made major advances since the days of 0.5.x or 0.7.x, where most people have previously tried CELT.

You can experience CELT 0.11.x using celtenc/celtdec on Fedora 16, where gstreamer fully supports the CELT 0.11.x library. Other very recent distros might have it too; it was released in February 2011.

For those wondering: Plain old "CELT" support (without the Ogg container) is not that useful, because AFAIK there is no tagging/metadata support in the raw CELT binary format. But it fits extremely well into the Ogg container, and the container can have tags that are already recognized by many media players. So the tag format of an Ogg/Celt file is the same as an Ogg/Vorbis file; any media player that wants to support Ogg/Celt just needs to add support for the Celt audio decoder, and they probably already have the Ogg container format and tagging support already implemented.

allquixotic commented 13 years ago

Oh, and because CELT is so new, I don't think that any other container formats have even tried to encapsulate CELT yet. Matroska probably will at some point in the future, and MP4 might also... but really, with the robust support already present in Ogg, why would you need anything else? :)