The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Codec Open-Source Projects
-
digital_video_introduction
A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding). Translations: 🇺🇸 🇨🇳 🇯🇵 🇮🇹 🇰🇷 🇷🇺 🇧🇷 🇪🇸
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
ffmpeg-libav-tutorial
FFmpeg libav tutorial - learn how media works from basic to transmuxing, transcoding and more. Translations: 🇺🇸 🇨🇳 🇰🇷 🇪🇸 🇻🇳 🇧🇷
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
descript-audio-codec
State-of-the-art audio codec with 90x compression factor. Supports 44.1kHz, 24kHz, and 16kHz mono/stereo audio.
-
cbor
CBOR codec (RFC 8949) with CBOR tags, Go struct tags (toarray, keyasint, omitempty), float64/32/16, big.Int, and fuzz tested billions of execs.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Show HN: CompressX, my FFmpeg wrapper for macOS, made $9k in the last 4 months | news.ycombinator.com | 2024-04-10For lossless cut, there's the LosslessCut [1] app, which even has an experimental but mostly working version of a "smart cut" feature [2] (aka. only re-encode the minimal mandatory amount of frames if you trim at a point between 2 key frames)
[1]: https://github.com/mifi/lossless-cut
[2]: https://github.com/mifi/lossless-cut/issues/126
There's a great introduction to video tech, including codecs, at https://github.com/leandromoreira/digital_video_introduction
Project mention: Still no love for JPEG XL: Browser maker love-in snubs next-gen image format | news.ycombinator.com | 2024-02-04Maybe this is what you are looking for:
https://github.com/google/wuffs
"Wuffs is a memory-safe programming language (and a standard library written in that language) for Wrangling Untrusted File Formats Safely."
Opus doesn't support 44.1 kHz because compatibility and effort/benefit ratio:
https://github.com/xiph/opus/issues/43
The browser audio limitation is presumably a workaround to some bug or performance limitation that was relevant at some point in history (the site was created in 2014).
Project mention: VRipper, a Python script for extracting audio from V.Smile roms | /r/vsmile | 2023-11-06VRipper Python Script Foobar2000 VGMStream Source Message
The built-in VVC decoder is dreadfully slow (a ton of optimizations are missing), VVdec is at least 2-3 times faster on anything having AVX2/SSE4.
If you really want to give VVC a try, better stay with version 6.1.1 as it's the last one which has patches for enabling VVdec. I won't be able to apply them to version 7.0/git master:
https://github.com/fraunhoferhhi/vvenc/wiki/FFmpeg-Integrati...
Project mention: Show HN: Sonauto – a more controllable AI music creator | news.ycombinator.com | 2024-04-10Hey HN,
My cofounder (four months ago, classmate) and I trained an AI music generation model and after a month of testing we're launching 1.0 today. Ours is interesting because it's a latent diffusion model instead of a language model, which makes it more controllable: https://sonauto.ai/
Others do music generation by training a Vector Quantized Variational Autoencoder like Descript Audio Codec (https://github.com/descriptinc/descript-audio-codec) to turn music into tokens, then training an LLM on those tokens. Instead, we ripped the tokenization part off and replaced it with a normal variational autoencoder bottleneck (along with some other important changes to enable insane compression ratios). This gave us a nice, normally distributed latent space on which to train a diffusion transformer (like Sora). Our diffusion model is also particularly interesting because it is the first audio diffusion model to generate coherent lyrics!
We like diffusion models for music generation because they have some interesting properties that make controlling them easier (so you can make your own music instead of just taking what the machine gives you). For example, we have a rhythm control mode where you can upload your own percussion line or set a BPM. Very soon you'll also be able to generate proper variations of an uploaded or previously generated song (e.g., you could even sing into Voice Memos for a minute and upload that!). @Musicians of HN, try uploading your songs and using Rhythm Control/let us know what you think! Our goal is to enable more of you, not replace you.
For example, we turned this drum line (https://sonauto.ai/songs/uoTKycBghUBv7wA2YfNz) into this full song (https://sonauto.ai/songs/KSK7WM1PJuz1euhq6lS7 skip to 1:05 if inpatient) or this other song I like better (https://sonauto.ai/songs/qkn3KYv0ICT9kjWTmins we accidentally compressed it with AAC instead of Opus which hurt quality, though)
We also like diffusion models because while they're expensive to train, they're cheap to serve. We built our own efficient inference infrastructure instead of using those expensive inference as a service startups that are all the rage. That's why we're making generations on our site FREE and UNLIMITED for as long as possible.
We'd love to answer your questions. Let us know what you think of our first model! https://sonauto.ai/
Project mention: libpng VS libspng - a user suggested alternative | libhunt.com/r/libpng | 2023-10-30libspng is already in LibHunt. I'm surprised there is no comparison with libpng.
Someone made a benchmark of serialization libraries in go [1], and I was surprised to see gobs is one of the slowest ones, specially for decoding. I suspect part of the reason is that the API doesn't not allow reusing decoders [2]. From my explorations it seems like both JSON [3], message-pack [4] and CBOR [5] are better alternatives.
By the way, in Go there are a like a million JSON encoders because a lot of things in the std library are not really coded for maximum performance but more for easy of usage, it seems. Perhaps this is the right balance for certain things (ex: the http library, see [6]).
There are also a bunch of libraries that allow you to modify a JSON file "in place", without having to fully deserialize into structs (ex: GJSON/SJSON [7] [8]). This sounds very convenient and more efficient that fully de/serializing if we just need to change the data a little.
--
1: https://github.com/alecthomas/go_serialization_benchmarks
2: https://github.com/golang/go/issues/29766#issuecomment-45492...
--
3: https://github.com/goccy/go-json
4: https://github.com/vmihailenco/msgpack
5: https://github.com/fxamacker/cbor
--
6: https://github.com/valyala/fasthttp#faq
--
7: https://github.com/tidwall/gjson
8: https://github.com/tidwall/sjson
Project mention: Zstd Content-Encoding planned to ship with Chrome 123 | news.ycombinator.com | 2024-02-07I'm still unconvinced about this addition. And I don't even dislike Zstandard.
The main motivation seems to be that while Zstandard is worse than Brotli at the highest level, it's substantially faster than Brotli when data has to be compressed on the fly with a limited computation budget. That might be true, but I'm yet to see any concrete or even anecdotal evidence even in the issue tracker [1] while there exist some benchmarks where both Zstandard and Brotli are fast enough for the web usage even at lower levels [2].
According to their FAQ [3] Meta and Akamai have successfully used Zstandard in their internal network, but my gut feeling is that they never actually tried to optimize Brotli instead. In fact, Meta employs the main author of Zstandard so it would have been easier to tune Zstandard instead of Brotli. While Brotli has some fundamental difference from Zstandard (in particular Brotli doesn't use arithmetic-equivalent coding), no one has concretely demonstrated that difference would prevent Brotli from being fast enough for dynamic contents in my opinion.
[1] https://issues.chromium.org/issues/40196713
[2] https://github.com/powturbo/TurboBench/issues/43
[3] https://docs.google.com/document/d/14dbzMpsYPfkefAJos124uPrl...
Project mention: Ut Video Codec Suite – fast lossless video codec | news.ycombinator.com | 2023-09-15
Codec related posts
- TSAC: Low Bitrate Audio Compression
- JPEG XL Reference Implementation
- Reflections on Distrusting xz
- 4-year campaign backdoored iPhones using possibly the most advanced exploit
- Breakdown of AV1 Video Codec
- JPEG XL v0.9.0 Released
- Just about every Windows/Linux device vulnerable to new LogoFAIL firmware attack
-
A note from our sponsor - WorkOS
workos.com | 26 Apr 2024
Index
What are some of the best open-source Codec projects? This list will help you:
Project | Stars | |
---|---|---|
1 | lossless-cut | 22,155 |
2 | digital_video_introduction | 15,095 |
3 | ffmpeg-libav-tutorial | 9,600 |
4 | wuffs | 3,743 |
5 | SBE | 3,022 |
6 | libjxl | 2,209 |
7 | opus | 2,092 |
8 | Bento4 | 1,862 |
9 | minimp3 | 1,482 |
10 | purify | 1,480 |
11 | vgmstream | 1,426 |
12 | ffmediaelement | 1,119 |
13 | vvenc | 860 |
14 | descript-audio-codec | 847 |
15 | libspng | 690 |
16 | cbor | 659 |
17 | mediadevices | 508 |
18 | vorbis | 442 |
19 | vvdec | 407 |
20 | TurboBench | 310 |
21 | base100 | 274 |
22 | utvideo | 273 |
23 | candid | 266 |
Sponsored