View Full Version : Nero Releases FREE Reference Quality MPEG-4 Audio Command Line Encoder
Pages :
1
2
[
3]
4
5
6
7
8
9
Rockaria
5th May 2006, 15:05
It's impossible for STDIN...That seems to be true without any callbacks to the middleware or server...
MatMaul
5th May 2006, 15:20
or like xvid for example, two switch (-pass1 and -pass2 for example) : the first pass creates a stats file and the 2nd pass reads it
tebasuna51
5th May 2006, 17:48
This is the problem for the wav limit 4 GB.
The faad decoder (aac) can generate 'invalid' wav's > 4 GB, and fill these fields (RiffLength and DataLength) with 0xFFFFFF00.
Foobar also make 'invalid' wav's > 4 GB, and fill these fields with the 4 low order bytes.
I prefer the faad method (0xFFFFFF00) because Foobar method can be confused with valid fields.
New Foobar 0.9 fill these fields with:
RiffLength = 0x7FFFFFEC
DataLength = 0x7FFFFFC8
Both invalids for wav's > 2GB, but work ok with neroAacEnc -ignorelength because RiffLength - DataLength must be equal to 36 (for this kind of wav header).
I check wav's > 4GB with any value in DataLength and +36 in RiffLength and always work with neroAacEnc -ignorelength, then the problem is use same value for the two fields.
For BeHappy the solution is fill DataLength with 0xFFFFFEDC (0xFFFFFF00 - 36).
For neroAacEnc the solution, if want support wav's > 4GB in Faad style, is ignore also the coherence between RiffLength and DataLength not only the real length.
EDIT: NeroAacDec is also capable to create wav's > 4GB, send a "overflow" message but continue to write the full wav (at last with a 130 min. m4a 5.1). And fill RiffLength and DataLength with =0x00000000 (invalid for neroAacEnc).
Rockaria
5th May 2006, 17:58
or like xvid for example, two switch (-pass1 and -pass2 for example) : the first pass creates a stats file and the 2nd pass reads it
My previous 2 pass gui server integration suggestion for the cli encoder actually performs 3i & 1.5o HD access(1i & 1o from the server and 2i & 0.5o by the encoder).
There are some possible performance improvements I can think of for now :
1. if the cli encoder manages the temporary wav, it will be 2i & 1.5o, reducing 1i.
2. if the server & encoder can handle 2 pass as an option(stdout 2 times in a session), it becomes 2i & 0.5o, no temp wav access, same effect as callback-rewind, but a bit lighter than the above 2 session method.
3. using the ram disk will result in 1i & 0.5o effect but would be subject to the short clip(music) use only, depending on the extra available ram size.
4. if the encoder decides to support 1 pass vbr/abr segment size adjustment, it would be the normal 1i & 0.5o transcoding but under the constraints of system resources(virtual memory) and encoding quality by the segment size & bit allocation algorithm.
dimzon
5th May 2006, 19:24
@Ivan
How to map old vbr modes (tape/radio/internet/etc) to new Q parameter (best fit)
I'm planning to write drop-in bsn.dll replacement to be able to use new Nero encoder via BeSweet :)
shon3i
5th May 2006, 19:44
| Old Presets | Quality Levels |
| Tape | -q=0.0 |
| Radio | -q=0.1 |
| Internet | -q=0.2 |
| Streaming | -q=0.3 |
| Normal | -q=0.5 |
| Extreme | -q=0.6 |
| Audiophile | -q=0.8 |
| Transcoding | -q=1.0 | Something like this
Kurtnoise
5th May 2006, 19:49
no...according to Garf, this is completely useless now.
shon3i
5th May 2006, 19:58
Now is just beter add slider with quality numbers instead these profiles.
imcold
5th May 2006, 21:06
Ivan & Nero: Thank you very much! ;)
Oline 61
5th May 2006, 23:00
Thanks Nero. I have been using Nero 6, and I really wanted the Nero 7 AAC codec, but didn't want to go whole hog and buy the package.
buzzqw
6th May 2006, 10:45
@tebasuna51
so... if i use azid.exe (or using besweet ) to demux a 5.1ch ac3 to 5.1 wav and this wav is over 4gb , i will however able to encode this wav with neroaacenc without problem ?
thanks for answer !
BHH
tebasuna51
6th May 2006, 11:33
@buzzqw
Sorry, I don't test if azid can make wav > 4GB, and can't test now.
If you have this wav > 4GB try with neroAacEnc -ignorelength, the message:
"ERROR: could not parse WAV file"
is instantaneous.
@tebasuna51
so... if i use azid.exe (or using besweet ) to demux a 5.1ch ac3 to 5.1 wav and this wav is over 4gb , i will however able to encode this wav with neroaacenc without problem ?
thanks for answer !
BHH
Did you try using Azid.exe serving the data via stdout (not shure if its possible)?
Also what about the channel order? Do ffmpeg.exe/Azid.exe realign the channelorder to 5.1 Wav specs or are these channels just passed through in their given source order?
jjseth
6th May 2006, 12:33
Originally Posted by Kurtnoise from HA forum
| Old Presets | Quality Levels |
| Tape | -q=0.0 |
| Radio | -q=0.1 |
| Internet | -q=0.2 |
| Streaming | -q=0.3 |
| Normal | -q=0.5 |
| Extreme | -q=0.6 |
| Audiophile | -q=0.8 |
| Transcoding | -q=1.0 |
New settings posted by Garf:
Average bitrate <-> Quality table
Bitrate->Quality
15----->0.05
32----->0.15
63----->0.25
99----->0.35
146---->0.45
197---->0.55
248---->0.65
299---->0.75
350---->0.85
401---->0.95
Using VBR mode (-q) will give the best quality. The default setting is -q 0.5, which will give about 160-170kbps on average. For ABR, use the -br options. For CBR, use -cbr. Note that the bitrate is in bits per second, not kilobits.
Note that using 2-pass encoding makes no sense in VBR mode!
When encoding from the commandline, sending the input over stdin is supported, but then you should also use -ignorelength. This is not needed when using temporary files.
Settings:
foobar2000 0.9.x (recommended over 0.8.3):
Extension: MP4 (or M4A, if you prefer)
Parameters: -ignorelength -q 0.5 -if - -of %d
Highest BPS mode supported: 32
EAC:
-if %s -of %d
castellanos
6th May 2006, 12:41
Hi guys!
Sorry for the question but, Can somebody provide a command line example, so I can see how it works?
I have been trying:
"D:\Nero\Win32\neroAacEnc.exe" -he -cbr 160000 -if "D:\Work\The Swan.wav" -of "D:\Work\The Swan.mp4"
But no luck.
Greetings!
Drachir
6th May 2006, 13:07
Do ffmpeg.exe/Azid.exe realign the channelorder to 5.1 Wav specs or are these channels just passed through in their given source order?
At Linux it seems to work this way:
>mkfifo audio.wav
>wine ./neroAacEnc.exe -ignorelength -q 0.3 -if audio.wav -of ger.mp4 & mplayer dvd:// -alang de -vc null -vo null -af channels=6:6:0:0:1:1:2:4:3:5:4:2:5:3 -ao pcm:waveheader:file=audio.wav -channels 6
Not sure if the channel order is right, I have only stereo speaker.
buzzqw
6th May 2006, 13:22
@Inc
azid.exe piping is know to be broken :(
and about channel order... i truly don't know !
BHH
Rockaria
6th May 2006, 14:16
Note that using 2-pass encoding makes no sense in VBR mode!
The keyword seems to be variable bit rate per second.
http://en.wikipedia.org/w/index.php?title=Average_bit_rate&oldid=44638008
Average bit rate refers to the average amount of data transferred per second. This is commonly referred to for digital music or video. An mp3 file, for example, that has an average bit rate of 128 kbit/s transfers, on average, 128,000 bits every second. It can have higher bit rate and lower bit rate parts, and the average bit rate is obtained by dividing the sum of the bit rate of each sample by the number of samples. Bit rate is not the only measure of audio/video quality, as some formats such as wma and Vorbis produce higher sound quality than the standard mp3 format at the same bit rate.
http://en.wikipedia.org/w/index.php?title=Variable_bit_rate&oldid=47326883
Variable bit rate (VBR) is a term used in telecommunications and computing that relates to sound or video encoding. As opposed to constant bit rate (CBR), VBR files vary the amount of output data per time segment. VBR allows a higher bit rate (and therefore more storage space) to be allocated to the more complex segments of sound files while less space is allocated to less complex segments. The average of these rates is calculated to produce an average bit rate for the file that will represent its overall sound quality.
MP3, WMA, Vorbis, and AAC files can optionally be encoded with VBR.
An interpretation identical to some recent definitions or trends..
http://www.hydrogenaudio.org/forums/index.php?showtopic=30553&st=0&p=264475&#
Nature of modes:
CBR - gives you constant bitrate through stream and predictable size. Quality can vary through the stream.
VBR - gives you constant quality through the stream (is controled via number of parameters) and completely unpredictable size.
ABR - gives you more constant quality than CBR while maintain some control over bitrate.
Note: actually, many new standarts like for example AAC have no CBR mode at all. They always working in ABR, using bit reservoir. If bit reservour depth is no more than defined in standart for used mode, then such a mode is called "CBR" while technically it is not.
My understanding based on the more formal definition so far is that :
. The ABR keeps the equal bit rate per second time frame, but allocates bits variably within the frame based on the complexity. It allocates equal bits to each second.
. So using the ABR for streams having variable bit rates over each second frame sounds quite confusing.
. If allocating even bits(ABR) on each unit(period/segment/frame/reservoir : sample<second<file) but distributing variably depending on the complexity within is the goal, we can safely say ABR is a subset of bitrate based VBR which has both controls over size(overall) and even quality(inside).
Although we are given the freedom of creative expression, if anybody wanna influence the majority reasonably with the new definitions, please update the Wikipedia (http://en.wikipedia.org/w/index.php?title=Average_bit_rate&oldid=44638008).
Pasqui
6th May 2006, 14:36
Hi guys!
Sorry for the question but, Can somebody provide a command line example, so I can see how it works?
I have been trying:
"D:\Nero\Win32\neroAacEnc.exe" -he -cbr 160000 -if "D:\Work\The Swan.wav" -of "D:\Work\The Swan.mp4"
But no luck.
Greetings!
It makes no sense to activate HE at such a high bitrate (unless your WAV file is 5.1). Remove "-he" and you will get a perfect CBR AAC LC 160kbps file.
castellanos
6th May 2006, 17:19
Thanks Pasqui!
I got it! :cool:
NWDaniels91
6th May 2006, 18:06
I ran some tests and I have a question. Here's what I tried:
"-q - 0.4 -2pass" and it returned a 126kbps LC-AAC file
"-q - 0.3 -2pass" and it returned a 83kbps HE-AAC file
"-q - 0.3 -lc -2pass" and it returned a 131kbps LC-AAC file
I realize that forcing LC or HE is not recommended, but in this test, setting the quality to 0.3 gave a higher bitrate than 0.4. Can anyone give a reason why this would be?
GmorG McRoth
6th May 2006, 18:16
2-pass mode is only for -br switch not -q
NWDaniels91
6th May 2006, 18:27
2-pass mode is only for -br switch not -q
Ah, thanks.
New question: Why can't Nero ShowTime 2 play back these files?
GmorG McRoth
6th May 2006, 18:29
what extansion you gave them? m4a or mp4? booth shuld work, I had problem becouse accidentaly I was naming them m4v (I made a typo) and foobar2000 didn't want to play them. I had to rename extansion. though nero show time is video player more than audio player so mayby it can't play audio. I can't check it out myself becouse im not using showtime.
NWDaniels91
6th May 2006, 19:06
I used the .mp4 file extension (of course). Nero ShowTime can play .mp3 and .mpa audio files, and it can play AAC .mp4 audio files when encoded with Nero's GUI, but it can't play AAC .mp4 files encoded by the Nero CLI. It says:
Cannot play this media file. The file is either corrupt or the application does not support the format you are trying to play.
SeeMoreDigital
6th May 2006, 19:34
I used the .mp4 file extension (of course). Nero ShowTime can play .mp3 and .mpa audio files, and it can play AAC .mp4 audio files when encoded with Nero's GUI, but it can't play AAC .mp4 files encoded by the Nero CLI. It says:
Cannot play this media file. The file is either corrupt or the application does not support the format you are trying to play.Come on guys...
You can't simply "re-name" the file extension from .AAC to .MP4 and expect these files to play in ShowTime player.
You must correctly mux the .AAC streams into the .MP4 container....
Cheers
shon3i
6th May 2006, 19:39
the file extension from .AAC to .MP4hmm, i think is that not a good idea. AAC is raw, so better use yamb/mp4box to mux this aac into mp4
GmorG McRoth
6th May 2006, 19:40
If I'm not mistaken nero AAC encoder creates mp4 files, so renaming them to m4a is not that dreadfull.
tebasuna51
6th May 2006, 21:14
@tebasuna51
so... if i use azid.exe (or using besweet ) to demux a 5.1ch ac3 to 5.1 wav and this wav is over 4gb , i will however able to encode this wav with neroaacenc without problem ?
I make a test decoding with Azid a 130 min ac3, the wav output is > 4GB and with coherent RiffLenth-DataLengh then is accepted by neroAacEnc -ignorelength.
The command used is:
azid -d3/2 -L0 -l1 -ol,r,c,lfe,sl,sr test.ac3 test.wav
you can see also how select the correct channel order for the wav6 with the -o parameter.
Other useful, but optional, parameters are:
-c normal (to apply DRC)
--maximize (to maximize the output)
NWDaniels91
6th May 2006, 23:18
Come on guys...
You can't simply "re-name" the file extension from .AAC to .MP4 and expect these files to play in ShowTime player.
You must correctly mux the .AAC streams into the .MP4 container....
Cheers
If I have this output a .aac file, it will play in MPC but will not play in foobar2000 or ShowTime. If I try to mux it into .mp4 with YAMB, it just creates an empty 8.7 KB file.
If I have this output a .mp4 file, it will play in MPC and foobar2000, but not ShowTime. If I try to mux it into .mp4 with YAMB, it correctly creates an .mp4 file that can be played in ShowTime.
What's up with this weird behavior? I'm no expert when it comes to YAMB, but says it can mux raw AAC files, so why does it have problems with these?
I have re-read this thread, and it doesn't say anywhere whether this is in fact encodes to raw AAC file or if it writes into the MP4 container. According to Nero, this program can "Store Entire Audio Album in a Single .mp4 File." So which is it?
DeathTheSheep
7th May 2006, 00:30
I was amazed with the quality your encoder offers at VBR q 0.15, but disappointed with bitrates only slightly lower due to the incredibly aggressive lowpass. Since I'm a user of mobile devices which respond very badly to HE-AAC, I was actually wondering if there is/can be a way for the advanced user to specify the desired lowpass frequency in the CLI for low-bitrate LC-AAC encodings--I've found a lack of annoying artifacts at bitrates as low as those attained by the use of q 0.15, much to my pleasant surprise.
I'm hoping, however, that your superb LC-AAC codec is capable of competing with Vorbis at 64kbps with high lowpass frequencies. I don't mind the introduction of a few minor encoding artifacts as long as the high-end of my audio is more faithfully preserved (I also happen to listen to various pop music which responds very well to a heightened or non-existent lowpass, even at what are often considered "insanely" low bitrates for other types of music).
Thanks for considering my proposal! (I also posted over at HA in less detail).
killerhex
7th May 2006, 01:09
is there a cdripper that supports this encoder
DeathTheSheep
7th May 2006, 04:28
Sure. Any CD ripper that supports encoding to custom CLI with "stdout" will have a blast with this thing. :P Heck, even good ol' fb2k.91 can use it... ;)
DeathTheSheep
7th May 2006, 04:37
AAC is raw, so better use yamb/mp4box to mux this aac into mp4
It already is. The encoder produces standard-complient MP4 AAC files.
I realize that forcing LC or HE is not recommended, but in this test, setting the quality to 0.3 gave a higher bitrate than 0.4. Can anyone give a reason why this would be?
Once a specific mode is forced, the quality scale is altered to better suit the quality of the mode. -q 0 for HE-AACv2 is obviously going to produce lower bitrate files than -q 0 for LC-AAC, etc.
chipzoller
7th May 2006, 05:20
But this encoder doesn't accept AC3 as a valid input file, so would this be a future addition, or is there something else to be done to have DVD audio tracks transcoded to AAC using this new app.?
layer3maniac
7th May 2006, 07:21
@chipzoller
Convert ac3 to wav, feed wav into encoder, perhaps?
buzzqw
7th May 2006, 08:01
But this encoder doesn't accept AC3 as a valid input file, so would this be a future addition, or is there something else to be done to have DVD audio tracks transcoded to AAC using this new app.?
i asked the same question few posts before. Read. (but as short answer NO, since for decoding ac3 royalties but be paid)
About wav file >4GB+ , i decoded "My fair lady" to 5.1 wav file with BeSweet and get 5.34 GB file.
NeroAACEnc encoded this file perfectly. :cool:
thanks to all (an now wait for Besweer support with some Dimzon Plugins !!!)
BHH
GmorG McRoth
7th May 2006, 08:49
check run time, when I was encoding big wav, output had 2 hours runtime (one hour missing).
I am pleased to announce the launch of FREE Reference Quality MPEG-4 Audio solution from Nero, in the command line form!
* First in the world FREE 2-Pass MPEG-4 AAC Encoder
* Compression Ratios ranging from ultra high (58 CDs fit on one!) to High-End Audio (2.5:1), for absolutely perfect audiophile encodings
* Crystal Clear, Award Winning Sound Quality at every compression ratio and bit rate!
* Support for Embedded Album Art (Covers, Booklets, Lyrics!)
* Store Entire Audio Album in a Single .mp4 File with all the Features of an Audio CD embedded inside, but at a fraction of the space!
* Reference Quality MPEG-4 Audio Codec
* Fully Compatible with the Latest Version of the State-of-the-art MPEG-4 Audio Standard (LC-AAC, HE-AAC and HE-AAC v2)
http://www.nero.com/nerodigital/eng/Nero_Digital_Audio.html
Now this was pretty awesome. Thanks a lot, Nero!
GmorG McRoth
7th May 2006, 09:09
I especially like this part:
FREE 2-Pass MPEG-4 AAC Encoder
buzzqw
7th May 2006, 09:38
@GmorG McRoth
:eek: :eek: wav audio was truncate !!!
original movie lenght ac3: 2h 46min 10sec
wav audio lenght: 2.04.17
mp4 lenght : 2.04.17 (fully playable and syncronized with wav)
the problem is on besweet !!! (i used the stable belight packace for 5.1 ac3 -> 5.1 wav)
:mad:
BHH
GmorG McRoth
7th May 2006, 11:06
I say, wav was fine just most readers can't get past 4GB point with reading.
tebasuna51
7th May 2006, 12:12
i decoded "My fair lady" to 5.1 wav file with BeSweet and get 5.34 GB file.
...
original movie lenght ac3: 2h 46min 10sec
wav audio lenght: 2.04.17
mp4 lenght : 2.04.17 (fully playable and syncronized with wav)
the problem is on besweet !!! (i used the stable belight packace for 5.1 ac3 -> 5.1 wav)
Your 5.34 GB wav file have about 2 h. 46 m.
I test BeSweet v1.5b31 with azid.dll v1.9 (b922) by Midas and work for wav > 4GB, like azid.exe v1.9 tested before http://forum.doom9.org/showthread.php?p=824344#post824344
With BeSweet-azid DataLength is fixed to 2:04:16.54 (0xFFFFFFD3) then if you use neroAacEnc without -ignorelength your mp4 must be 2:04:16.54
But, if you use -ignorelength, the mp4 must have the full length (works for me).
buzzqw
7th May 2006, 14:23
i reencoded the wav with ignorelegth options.
:thanks: i got the right lenght, even if wav is reported as 2.04.17 the mp4 is of 2.46.10 , the reight length !
i have to say that for an original ac3 (5.1ch 384kbs) of 467351kb ( 456mb) i got with -q 0.4 (not specifing lc or he) an mp4 with size bigger than orginal ! (468 mb, average bitrate -with foobar - of 392) :confused:
now trying with -he options (and -q 0.4)
i will report
BHH
chipzoller
7th May 2006, 14:39
@ layer3maniac
Convert ac3 to wav, feed wav into encoder, perhaps?
Surely you know that every time you convert to different formats you ineviteibly loose some detail. What you suggest is not an ideal process.
@ buzzqw
i asked the same question few posts before. Read. (but as short answer NO, since for decoding ac3 royalties but be paid)
I did search for 'AC3' using the 'seach this thread' option but found no results (and still do not). Maybe something is up here.
Thanks, I'll stick with the encoder in belight for now.
Ivan Dimkovic
7th May 2006, 14:43
Surely you know that every time you convert to different formats you ineviteibly loose some detail. What you suggest is not an ideal process.
You do not lose any detail by converting lossy source to a lossless format, such as linear PCM.
AAC encoder anyway deals with linear PCM input - so there should be no difference whether you feed it frame-by-frame with some decoded data (that has to be in the PCM format anyway) - or you decode to PCM and then encode all that data separately.
chipzoller
7th May 2006, 14:46
You do not lose any detail by converting lossy source to a lossless format, such as linear PCM.
O...I did not consider that aspect. I thus stand corrected :)
Thank you for releasing this handy but powerful encoder.:thanks:
I've got two questions while playing with this.
New settings posted by Garf:
Highest BPS mode supported: 32
1. Would it be a better idea to feed the encoder with 32bit dithered one(by foobar)?
2. When I set 2pass -q mode, what happens inside the encoder logic?
Fallback to corresponding 2pass -br mode?, 1pass -q mode? or maybe something hybrid?
I've read that 2pass with q setting doesn't make sense, but just outa curiosity.:D
buzzqw
7th May 2006, 19:25
just for sake purpose i encoded the same wav to -q 0.4 HE
got 357mb file, against a 468mb (-q 0.4 LC) and an original 456mb ac3
BHH
i asked the same question few posts before. Read. (but as short answer NO, since for decoding ac3 royalties but be paid)
About wav file >4GB+ , i decoded "My fair lady" to 5.1 wav file with BeSweet and get 5.34 GB file.
NeroAACEnc encoded this file perfectly. :cool:
thanks to all (an now wait for Besweer support with some Dimzon Plugins !!!)
BHHI just compiled the a52dec.exe binary. It seems that it comes as a playback binary only?!
Well anyhow ... maybe someone could modify the code so the decoded pcm data will be served incl. wav header via stdout.
This would make ac3->aac transcoding much more easier without big temp wav file generations.
EDIT:
Seems it depends on the output mode setting ......
The help offers this:
usage: d:\a52dec-0.7.4\a52dec-0.7.4\src\a52dec.exe [-o <mode>] [-s [<track>]] t <pid>] [-c] [-r] [-a] \
[-g <gain>] <file>
-s use program stream demultiplexer, track 0-7 or 0x80-0x87
-t use transport stream demultiplexer, pid 0x10-0x1ffe
-c use c implementation, disables all accelerations
-r disable dynamic range compression
-a disable level adjustment based on output mode
-g add specified gain in decibels, -96.0 to +96.0
-o audio output mode
win
windolby
wav
wavdolby
aif
aifdolby
peak
peakdolby
null
null4
null6
float
The a52dec.exe binary: http://www.mytempdir.com/650299
So if -o wav is given then maybe we also stdout could work ... actualy I have no time this night, so maybe someone likes to try
yepp ....:
a52dec.exe -o wavdolby "X:\myAudio.ac3" > X:/myAudio.wav
but still downmixed to 2ch .....
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.