Log in

View Full Version : MPEG-4 Audio lossless format (MPEG-4 ALS) available now


Pages : 1 [2]

Zero1
5th June 2010, 14:56
Thanks for the build Kurtnoise :) Appreciate it.

Great work jruggle, it's about time someone supported this! All the best man, hope it pans out well for you.

SeeMoreDigital:
http://www.mediafire.com/?omrhmmgzynf

2.56MB using the switches -v -a -o15 -r-1 -e -p -g5 -MP4 (I used Kurtnoise's build of RM23). This works in VLC 1.1 RC :)
-z3 -b seems to give best compression results, but unfortunately it is not supported in FFMPEG/VLC yet. Fingers crossed that the guys are able to implement this.

Not optimal settings btw, so should not be used for compression comparison. Also note that samples don't really prove much compression wise.

I actually don't mind using the reference encoder. Ok it's slow as hell, but since it's lossless, it should be the only time you need to compress your music with it :)


jruggle, could you give me an idea as to where you are with the encoder? I'm no good with code, so I can't tell, but I read a comment about adding more compression levels than the 3 you already have. Does this mean it is likely your encoder will produce smaller filesizes than the reference encoder? Anything you can tell us would be great.

SeeMoreDigital
6th June 2010, 02:20
SeeMoreDigital:
http://www.mediafire.com/?omrhmmgzynfMany thanks...

It does indeed play fine in VLC player v1.1 RC :)

MediaInfo correctly reports its properties too...

Zero1
6th June 2010, 09:03
Many thanks...

It does indeed play fine in VLC player v1.1 RC :)

MediaInfo correctly reports its properties too...
Yep, it's nice that most of what is required for this to work is already in place. I can't wait for the decoder to be available in FFDShow - I think I'll start experimenting with it more.

Should be nice for video editing people too, lossless H.264 + ALS in MP4 for their masters :)

Kurtnoise
6th June 2010, 15:02
I can't wait for the decoder to be available in FFDShow - I think I'll start experimenting with it more.

Should be nice for video editing people too, lossless H.264 + ALS in MP4 for their masters :)
this requires not only a decoder but also to update the mp4 splitter...

SeeMoreDigital
6th June 2010, 15:41
We also need the ability to extract the elementary ALS streams and re-mux them back into the .MP4 container (or other containers) with an accompanying video stream...

Keiyakusha
6th June 2010, 16:22
this is offtopic a bit but is there any work on mpeg4-sls? IMO it is more usable than als due to its "layers"...

Zero1
7th June 2010, 09:15
Hmm, that's dissapointing. For some reason I thought that Haali's splitter would pass ALS through fine anyway. He may or may not have added support for ALS specifically, but I was under the impression that it would be stored, split and handled in a similar way to AAC and therefore automatically supported.

I tried playing it in Windows Media Player and it tells me that I am missing a codec. Am I right to presume that Haali's splitter is handling this correctly and all it does really need is the decoder?

Also for some reason I thought ALS support was already added in MP4box. I know you can extract it, but it gives it a .aac extension. In the build I am using, it doesn't seem possible to remux a raw stream. Maybe this functionality was present in an older or experimental build of MP4box, because I remember doing some tests on Elephant's dream using lossless H.264 and multichannel ALS. I couldn't play it back at the time, but the resulting file muxed correctly. I may have to revisit this now that FFMPEG/VLC is gaining ALS support.

As for SLS, I think that project sadly might not be going anywhere fast, if at all. It's a cool idea, but I think AAC + ALS is going to do the job for most people. IIRC SLS isn't actually lossless, is it?

Kurtnoise
7th June 2010, 09:38
@Keiyakusha : http://www.iis.fraunhofer.de/EN/bf/amm/products/hdaac.jsp ...otherwise, give it a try to mp3HD.

@Zero1 : the reference encoder uses a similar AAC way to store ALS streams in the MP4. Dunno if it's the right way or not but the tools need to be updated to detect the stream correctly...

SLS is an AAC codec like wavpack hybrid mode (lossy & lossless layers).

jruggle
8th June 2010, 16:32
jruggle, could you give me an idea as to where you are with the encoder? I'm no good with code, so I can't tell, but I read a comment about adding more compression levels than the 3 you already have. Does this mean it is likely your encoder will produce smaller filesizes than the reference encoder? Anything you can tell us would be great.
I'm working on the encoder collaboratively with Thilo Borgmann, who wrote the ALS decoder for FFmepg. We have most features completed and are working on optimizations and code clean-up now. In general, the compression is only very slightly better than the reference encoder when using the same features since the reference encoder uses optimal or good algorithms in most situations. Our encoder is generally about twice as fast as the reference though.

Zero1
9th June 2010, 08:29
I'm working on the encoder collaboratively with Thilo Borgmann, who wrote the ALS decoder for FFmepg. We have most features completed and are working on optimizations and code clean-up now. In general, the compression is only very slightly better than the reference encoder when using the same features since the reference encoder uses optimal or good algorithms in most situations. Our encoder is generally about twice as fast as the reference though.
Wow, this is great. I didn't realise you had made this much progress. I've been out of the loop for a long time and I presumed the encoder was still a long way off. Excellent stuff man :)

Are there any plans/is it possible to release it as a stand alone CLI encoder, similar to the reference software? And are you also able to copy or take inspiration from the code in the reference that helps the encoder choose the optimal algorithms?

What impressed me most was that you are able to produce slightly smaller files than the reference. I was kind of expecting an optimised encoder would be able to, but the reference software is pretty damn good by anyone's standards (compression wise).

Nice to hear you are working with Thilo. I'm presuming there is going to be quite a bit of shared code between the encoder and decoder, so this will help your projects move together at a faster rate.

Excellent stuff guys, I can't wait to start using your codecs :)

jruggle
9th June 2010, 17:48
Are there any plans/is it possible to release it as a stand alone CLI encoder, similar to the reference software?

No plans for a standalone encoder, but FFmpeg can be compiled to only include a small number of formats and codecs. When I'm working on the encoder, I only enable mp4, wav, raw pcm, and als.
And are you also able to copy or take inspiration from the code in the reference that helps the encoder choose the optimal algorithms?
There are a few places where we take inspiration from the reference, but either do our own implementation or reuse functions that are already in FFmpeg.


What impressed me most was that you are able to produce slightly smaller files than the reference. I was kind of expecting an optimised encoder would be able to, but the reference software is pretty damn good by anyone's standards (compression wise).

Well, the compression differences are minimal. I haven't analyzed it fully, but I'm pretty sure it has to do with the fact that our encoder has an option to do a full search for the optimal Rice parameters instead of just estimating them.


Nice to hear you are working with Thilo. I'm presuming there is going to be quite a bit of shared code between the encoder and decoder, so this will help your projects move together at a faster rate.

Surprisingly, there is not much shared code between the two. Mostly just tables and a couple small functions.


Excellent stuff guys, I can't wait to start using your codecs :)
Thanks!

Zero1
11th June 2010, 08:57
Thanks for your time man. Just wondering how far you are into it feature wise? RLSLMS and BGMC coding are of particular interest (same question applies for the decoder too if you are able to answer).

I downloaded a nightly build of FFMPEG the other day and it seemed to support ALS decoding but not encoding, is this just to do with how it was built, or are you not releasing it just yet?

Sorry to be basically asking "when will it be available?", but I'm eager to start using it :)

jruggle
13th June 2010, 18:22
Thanks for your time man. Just wondering how far you are into it feature wise? RLSLMS and BGMC coding are of particular interest (same question applies for the decoder too if you are able to answer).

Off the top of my head...

Features not implemented in the decoder:
RLSLMS, floating-point samples, channel sorting

Features not implemented in the encoder:
RLSLMS, MCC, floating-point samples, channel sorting

Yes, BGMC is implemented in both.


I downloaded a nightly build of FFMPEG the other day and it seemed to support ALS decoding but not encoding, is this just to do with how it was built, or are you not releasing it just yet?

Sorry to be basically asking "when will it be available?", but I'm eager to start using it :)
It's still a work in progress and has not been through the FFmpeg approval process yet. We're hosting it on github until it's ready to submit as patches for inclusion in FFmpeg.

Zero1
27th June 2010, 01:43
You know, I've been mulling over upgrading my old Nokia N96 to an N900 for a while, and I wasn't sure that I could justify the price tag since my N96 is only a year old or so.

But then I had an interesting thought.

Would it be possible to get ALS support on the phone? I'm pretty hopeful as the phone is actually running linux, but I don't know anything about the media player or codecs. All I know is that there are some additional codecs in it's repository, so it is possible to add things out of the box.

I was dissapointed with my iPod, so I sold it and just decided to use my phone as an audio player. ALS on the N900 would be incredible. I just hope it's CPU (same as in the iPhone) is powerful enough to decode the streams (I imagine it would be and it's possible to overclock the CPU anyway even though it's not a good idea).

This would really be a killer app for me, and it can only mean good things in spreading the awareness/use of it :)

SeeMoreDigital
27th June 2010, 10:25
I was dissapointed with my iPod, so I sold it and just decided to use my phone as an audio player.Indeed...

The last time I checked, none of Apple's "i" products were even capable of supporting AAC "parametric stereo" sources correctly. I wonder if their new iPhone 4 offers does?

...Not that I'll ever buy one :eek:

EDIT: Answer... No it can't!

Perhaps Apple are too buzy making up new container extensions :rolleyes:

Zero1
5th September 2010, 10:20
Just a quick bump, wondering how things are going.

jruggle
5th September 2010, 15:09
Just a quick bump, wondering how things are going.
Mostly code clean-up and testing at this point. We're also currently defining the compression levels, deciding which features/algorithms should be used at each level for speed/compression trade-off.

smileBhappy
15th September 2010, 10:28
can anyone give me an idea of how much smaller file sizes will be with this?

thanks

Zero1
16th September 2010, 01:44
Depends an awful lot on the source. To get a rough idea, play around with FLAC. ALS will produce slightly smaller filesizes, but not a massive difference. The thing with ALS is it's an MPEG standard, so hopefully once the encoder and decoder software is complete and people start using it, companies will start to add support for it in their devices.

Zero1
9th December 2010, 23:18
Just wanted to pop my head in and ask how things are going? My interest in ALS has grown over the last couple of weeks since I've started to upgrade my audio setup.

It's of particular interest for me because I have encoding batches and WAVs setup on an external HDD, and all I'd need to do is change the encoding command line. All the artwork and tagging can remain the same.

Thanks.

Kurtnoise
29th January 2011, 19:39
Hi,

Just let you know that there is now a dshow filter which is able to decode als-in-mp4 streams (http://forum.doom9.org/showthread.php?p=1475010#post1475010)...can't test it yet though.

nevcairiel
29th January 2011, 19:43
I downloaded the sample provided earlier in this thread "'s Swing (mp4alsRM23_win64 -v -a -o15 -r-1 -e -p -g5 -MP4).mp4", and it does indeed play when both my filters are used, however MPC-HC crashed after playback (could be unrelated) .. i'll have to investigate this.

Elias
29th January 2011, 21:26
Here we go...



cmdl tool :: ALS reference software (http://www.nue.tu-berlin.de/forschung/projekte/lossless/mpeg4als.zip)

http://www.nue.tu-berlin.de/forschung/projekte/lossless/mp4als.htmlSince it's lossless, what's of interest here is how it performs against other lossless audio codecs in terms of file size.

Selur
12th October 2021, 20:18
sine I just stumbled over MPEG-4 als (10+ years later), here a working link to the research site:
https://www.nue.tu-berlin.de/menue/research/research_topic/compression_and_transmission/mpeg_4_audio_lossless_coding_als/parameter/en/#c230252
they also have a Windows 32bit binary.

SeeMoreDigital
12th October 2021, 21:35
How very odd...

I was just thinking about lossless MPEG-4 audio this morning... but I couldn't remember the 'ALS' bit :eek:

tebasuna51
13th October 2021, 11:49
Thanks Selur to complete this thread after 10 years.

One lossless encoder to add to the list (https://wiki.hydrogenaud.io/index.php?title=Lossless_comparison).

By the moment without decoder support in libav/ffmpeg.

A test over only a file:
file Size % Time %
---- -------- --- ---- ---
wav 30924140 100
ofr 17497765 57 9720 2700
tak 17801664 58 640 178
ape 17960940 58 1190 331
als 18135269 59 1890 525 <--
wv 18189920 59 830 231
flac 18295717 59 360 100
tta 18356637 59 540 150
alac 18655865 60 1220 339
thd 21736212 70 1150 319 (ffmpeg)

seems have a good compression ratio, but the support and slow encode (5 times slow than flac) and decode (3 times slow than flac) seems the problem.

nevcairiel
13th October 2021, 14:40
By the moment without decoder support in libav/ffmpeg.


MPEG-4 ALS is supported in ffmpeg.

SeeMoreDigital
13th October 2021, 14:43
Sadly there's little interest regarding MPEG-4 SLS (https://forum.doom9.org/showthread.php?p=967673#) too :(

tebasuna51
13th October 2021, 21:04
MPEG-4 ALS is supported in ffmpeg.

You are right, it is show like
ffmpeg -decoders

...
A....D als MPEG-4 Audio Lossless Coding (ALS) (codec mp4als)
...

But not like
ffmpeg -encoders