VideoHelp Forum




+ Reply to Thread
Results 1 to 26 of 26
  1. Hi!

    I did a little research and found out that Nero AAC is currently the best encoder for AAC format. Feel free to correct me. If this is correct, I want to learn how to encode Blu-Ray audio or any audio format for that matter to AAC using Nero AAC.
    Nero AAC only accepts WAV format (that's what it mentioned in the command line).

    So does it mean I have to find a way to convert DTS into WAV losslessly, and then input it into the Nero encoder?

    I want to know the best options.
    Quote Quote  
  2. It is disputable if Nero AAC encoder is best - some of people says that Apple encoder is better some people says that best is floating point encoder from Fraunhofer (part of the Winamp suite not fdk_aac that is open sourced).
    http://wiki.hydrogenaud.io/index.php?title=AAC_encoders

    ffmpeg should be capable to be frontend for DTS decoding and you should be able to pipe file directly from DTS to AAC without intermediate wav file creation, this can be inspiration for syntax:
    http://sound.stackexchange.com/questions/23244/how-can-i-encode-audio-with-nero-aac-en...using-mac-os-x
    https://ffmpeg.zeranoe.com/forum/viewtopic.php?t=2054
    Quote Quote  
  3. nae.exe -q 0.7 -if - -of "audio.mp4"
    This I got but can you tell me what command I should use to frontend from ffmpeg?
    Quote Quote  
  4. Originally Posted by knightplex View Post
    nae.exe -q 0.7 -if - -of "audio.mp4"
    This I got but can you tell me what command I should use to frontend from ffmpeg?
    I assume it should be something like this:
    Code:
    ffmpeg -i input -f wav - | nae.exe -q 0.7  -ignorelength -if - -of audio.mp4
    Not sure about neroaac input capabilites - you may consider to add some options to ffmeg:

    Code:
    ffmpeg -i input -vn -sn -c:a pcm_f32le -ac 6 -f wav - | nae.exe -q 0.7  -ignorelength -if - -of audio.mp4
    Last edited by pandy; 10th Oct 2016 at 06:50.
    Quote Quote  
  5. Thanks a lot. This is what worked.

    ffmpeg -i "Input.mka" -f wav - | nae -q 0.xx -ignorelength -if - -of "audio.mp4"
    Quote Quote  
  6. Is there a command to normalize the audio? I went through the tutorial that Nero provides but there exists no such command.

    Also, are the other encoders you mentioned freely available like Nero? I searched but didn't get anything.
    Quote Quote  
  7. The AAC encoders should all be good at reasonable bitrates. If you use the default variable bitrate quality setting for each you probably can't go wrong.

    I wrote a bit of an essay here a while back. It should help you find the various AAC encoders and/or the files they depend on. https://forum.videohelp.com/threads/370412-Looking-for-an-AAC-LC-encoder-from-Frauenhof...=1#post2376348

    I tend to use QAAC mostly these days. Partly because it has a --no-delay option that gets it to remove any encoder "padding" from the beginning (extra silence). All lossy encoders add it. For AAC tends to be around 50ms. MKVToolNix compensates for the padding when muxing audio but I don't think any other muxing programs do. QAAC is also the only AAC encoder with the ability to peak normalise. It has an option -N that can be added to the command line to enable it.

    I mentioned foorbar2000 in the post I linked to as I mostly use it for audio encoding. It can encode multiple files at the same time, it comes with conversion presets for all the AAC encoders or you can create your own, there's DSP plugins for decoding DTS and AC3, it has a built in ReplayGain scanner which can be used to normalise audio (better than peak normalising, in my opinion) there's a third party matrix mixer that can be used for downmixing (DSPs can be added to the conversion chain), and the whole setup can be saved as conversion presets. The easiest way to set up an encoder configuration in foobar2000 is to select an appropriate encoder preset, adjust it to your liking, and from there if you switch to "custom" foobar2000 will fill in the command line for you, which you can then alter manually if you want to.



    And not that there's really much need, because foobar2000 supports any command line encoder, but for fun I tried creating an encoder preset to encode with ffmpeg piping the audio to NeroAAC. I had to mess around for a while to find the magic command line, but it works. Just for fun. Or you could add the ffmpeg options to the comman line pandy suggested.

    " /d /c c:\progra~1\foobar2000\encoders\ffmpeg.exe -i - -f wav - | c:\progra~1\foobar2000\encoders\neroAacEnc.exe -q 0.5 -ignorelength -if - -of %d"



    Another GUI you might want to try is AnotherGUI. I mainly use it with ffmpeg myself but it should support any command line encoder. You can create presets and then batch convert by dragging and dropping files onto the GUI.

    PS. Sorry if you see the images twice. It's a forum issue, not me causing it.
    Image Attached Thumbnails Click image for larger version

Name:	qaac1.gif
Views:	5846
Size:	27.9 KB
ID:	38876  

    Click image for larger version

Name:	qaac2.gif
Views:	5569
Size:	30.6 KB
ID:	38877  

    Click image for larger version

Name:	ffmpeg.gif
Views:	5352
Size:	30.6 KB
ID:	38878  

    Last edited by hello_hello; 12th Oct 2016 at 10:45.
    Quote Quote  
  8. Thanks a lot for all this information.

    I installed Foobar2000 and the encoder pack like you said. gave an input file (DTS audio in mka format), the output being Apple AAC encoder with 127 TVBR, and this is the error I got. I mean DTS is unsupported? I'm only going to use DTS files to convert to AAC. I wanted a VBR encoder for AAC, so I tried Nero AAC and it worked like Pandy said above. But it didn't have normalisation, and it hasn't been developed since 2010. That's quite outdated. So currently as per your instructions, I'm trying Qaac encoder.
    Last edited by knightplex; 15th Oct 2016 at 03:01.
    Quote Quote  
  9. DECEASED
    Join Date
    Jun 2009
    Location
    Heaven
    Search Comp PM
    1) https://forum.videohelp.com/threads/72386-Forum-rules-Acceptable-Use-Policy-%28AUP%29? says:

    Do NOT talk about warez releases

    Like filenames "Movie.2012.DVDSCR.X264.AAC.P2P.mkv"
    2) afaik, the DTS input plugin for foobar2000 supports only elementary DTS streams, it cannot "see" what's inside other containers like MP4 or Matroska.
    Quote Quote  
  10. Originally Posted by knightplex View Post
    Is there a command to normalize the audio? I went through the tutorial that Nero provides but there exists no such command.

    Also, are the other encoders you mentioned freely available like Nero? I searched but didn't get anything.
    There is Apple AAC encoder and there is Fraunhofer encoder (integer ffd_aac and float FhG).
    Not sure what you mean by normalizing - are you referring to downmixed 2 Ch audio or to multichannel audio?
    Anyway i perform normalization (with mild dynamics compression) in ffmpeg by calling https://ffmpeg.org/ffmpeg-filters.html#dynaudnorm on downmixed 2 Channel audio
    Code:
    -af dynaudnorm=p=1/sqrt(2):m=100:s=12
    - not sure how it will work (if work at all) on multichannel audio.
    Last edited by pandy; 14th Oct 2016 at 06:59.
    Quote Quote  
  11. Originally Posted by El Heggunte View Post
    2) afaik, the DTS input plugin for foobar2000 supports only elementary DTS streams, it cannot "see" what's inside other containers like MP4 or Matroska.
    Also includes a packet decoder for Matroska files containing DTS streams
    http://www.foobar2000.org/components/view/foo_input_dts

    You have to download and install the plugin first. It's not included in the foobar installer.
    Quote Quote  
  12. Originally Posted by El Heggunte View Post
    2) afaik, the DTS input plugin for foobar2000 supports only elementary DTS streams, it cannot "see" what's inside other containers like MP4 or Matroska.
    It can see DTS inside MKVs. I'm not sure about MP4s.
    https://www.foobar2000.org/components/view/foo_input_dts
    "Adds decoding support for DTS Coherent Acoustics files (.DTS) and DTS WAV files (.DTSWAV). Also includes a packet decoder for Matroska files containing DTS streams, and a decode postprocessor which supports decoding DTS streams from 44100Hz or 48KHz 16-bit lossless PCM streams."

    Quote Quote  
  13. DECEASED
    Join Date
    Jun 2009
    Location
    Heaven
    Search Comp PM
    Originally Posted by sneaker View Post
    Also includes a packet decoder for Matroska files containing DTS streams
    http://www.foobar2000.org/components/view/foo_input_dts

    You have to download and install the plugin first. It's not included in the foobar installer.
    The one I'm using is version 0.3.1, current version is 0.5.2.

    If it works for me, then I will not update it

    But this is not the point, of course. The actual problem is in the O.P. himself /herself:

    https://en.wikipedia.org/wiki/User_error#PEBKAC
    Quote Quote  
  14. Originally Posted by knightplex View Post
    Thanks a lot for all this information.

    I installed Foobar2000 and the encoder pack like you said. gave an input file (DTS audio in mka format), the output being Apple AAC encoder with 127 TVBR, and this is the error I got. I mean DTS is unsupported? I'm only going to use DTS files to convert to AAC. I wanted a VBR encoder for AAC, so I tried Nero AAC and it worked like Pandy said above. But it didn't have normalisation, and it hasn't been developed since 2010. That's quite outdated. So currently as per your instructions, I'm trying Qaac encoder.
    I did mention in my post there's plugins for decoding DTS and AC3.
    https://www.foobar2000.org/components/view/foo_input_dts
    https://www.foobar2000.org/components/view/foo_ac3

    There's also a plugin for decoding AVIsynth scripts, so any audio you can open with Avisynth can be opened with foobar2000:
    https://www.foobar2000.org/components/view/foo_input_avs
    And AVISynth has a function for normalising the audio, so that's one possible way to normalise when you convert with any encoder. If I happen to want to change the speed of audio (PAL speedup or slowdown) I generally create an AVIsynth script to open the audio and apply the speed change, then I open the script with foobar2000 and convert.

    And if that's not fun enough, any installed DirectShow codec can be used for decoding. For some reason I can't find a trustworthy looking link for that one at the moment, so I've attached it for you (see the end of this post). If you have something like ffdshow or LAV Filters installed, you can use them to decode any format they support.

    Oh.... and if there's a command line decoder, foobar2000 can use it, although it's not as much fun.
    http://www.foobar2000.org/components/view/foo_input_exe
    I say it's "not as much fun" because either foobar2000 can't seek, or it can but it's got to parse the entire file fist which makes opening files slow. There's no DSP for decoding EAC3 for foobar2000 (not AC3, there's one for that) so I use the command line decoder wrapper and ffmpeg. The following command line allows you to seek once a file is opened, but opening it can take a while.

    ffmpeg.exe -i %s -vn -acodec pcm_s24le %d

    Click image for larger version

Name:	ffmpeg.gif
Views:	1664
Size:	37.1 KB
ID:	38900

    This command line will open the audio straight away, but not allow you to seek. You can still convert though:

    ffmpeg.exe -i %s -vn -f wav -
    Image Attached Files
    Last edited by hello_hello; 14th Oct 2016 at 13:53.
    Quote Quote  
  15. Once you've got QAAC working, it should normalise, but I'd generally not use peak normalisation myself, although if I'm downmixing to stereo I sometimes do. I downmix with the Matrix Mixer DSP. http://skipyrich.com/w/index.php/Foobar2000:Matrix_Mixer
    It has a normalise function which automatically reduces the volume enough to prevent clipping according to how you combine the channels. That often leaves the audio a bit quiet, so then I use QAAC's normalising option to peak normalise as it's encoded.

    My 5.1ch to stereo matrix, but you're free to downmix however you prefer.:
    Image
    [Attachment 38901 - Click to enlarge]


    You can scan any file with the ReplayGain scanner, then save the ReplayGain info to tags. There's a way to use that info when converting to peak normalise, but it's still not the best way. Normally you'd use ReplayGain to normalise to a specific volume. I can explain how to apply ReplayGain to the conversion chain if you're interested.

    For audio inside MKVs, I find it's often better to extract it and then convert.... for this reason only:

    Image
    [Attachment 38902 - Click to enlarge]


    Foobar2000 splits the MKVs into individual chapters in a playlist (assuming it has chapters. You can create a conversion preset which converts them as a single file, but I prefer to extract the audio and work with it directly. gMKVExtractGUI and MKVCleaver can extract the audio from MKVs (the latter is better for batch extraction). Both require MKVToolNix to do the actual extracting.

    One last tip..... when I create a QAAC encoder preset for normalising, I tick the "do not convert in multiple threads" option. That's because in order to normalise, QAAC has to process the entire file before it encodes, which is fairly fast.... like decoding to a wave file.... and processing more than one file at a time can keep your hard drive busy. See how you go, but the option is there. For converting without normalising I don't check that option and let foobar2000 convert multiple files at a time.
    Last edited by hello_hello; 14th Oct 2016 at 14:06.
    Quote Quote  
  16. Originally Posted by El Heggunte View Post
    1) https://forum.videohelp.com/threads/72386-Forum-rules-Acceptable-Use-Policy-%28AUP%29? says:

    Do NOT talk about warez releases

    Like filenames "Movie.2012.DVDSCR.X264.AAC.P2P.mkv"
    2) afaik, the DTS input plugin for foobar2000 supports only elementary DTS streams, it cannot "see" what's inside other containers like MP4 or Matroska.
    Sorry about the Warez. I removed it.
    Quote Quote  
  17. Originally Posted by pandy View Post
    Originally Posted by knightplex View Post
    Is there a command to normalize the audio? I went through the tutorial that Nero provides but there exists no such command.

    Also, are the other encoders you mentioned freely available like Nero? I searched but didn't get anything.
    There is Apple AAC encoder and there is Fraunhofer encoder (integer ffd_aac and float FhG).
    Not sure what you mean by normalizing - are you referring to downmixed 2 Ch audio or to multichannel audio?
    Anyway i perform normalization (with mild dynamics compression) in ffmpeg by calling https://ffmpeg.org/ffmpeg-filters.html#dynaudnorm on downmixed 2 Channel audio
    Code:
    -af dynaudnorm=p=1/sqrt(2):m=100:s=12
    - not sure how it will work (if work at all) on multichannel audio.
    When we play a movie, volume is low for some parts, and then it suddenly increase for some parts. Whatever term is used to rectify this problem, I was talking about that term. I guess it's called loudness normalization? I'm not sure.
    Quote Quote  
  18. Originally Posted by El Heggunte View Post
    Originally Posted by sneaker View Post
    Also includes a packet decoder for Matroska files containing DTS streams
    http://www.foobar2000.org/components/view/foo_input_dts

    You have to download and install the plugin first. It's not included in the foobar installer.
    The one I'm using is version 0.3.1, current version is 0.5.2.

    If it works for me, then I will not update it

    But this is not the point, of course. The actual problem is in the O.P. himself /herself:

    https://en.wikipedia.org/wiki/User_error#PEBKAC
    What do you mean?
    Quote Quote  
  19. Originally Posted by hello_hello View Post
    Once you've got QAAC working, it should normalise, but I'd generally not use peak normalisation myself, although if I'm downmixing to stereo I sometimes do. I downmix with the Matrix Mixer DSP. http://skipyrich.com/w/index.php/Foobar2000:Matrix_Mixer
    It has a normalise function which automatically reduces the volume enough to prevent clipping according to how you combine the channels. That often leaves the audio a bit quiet, so then I use QAAC's normalising option to peak normalise as it's encoded.

    My 5.1ch to stereo matrix, but you're free to downmix however you prefer.:
    Image
    [Attachment 38901 - Click to enlarge]


    You can scan any file with the ReplayGain scanner, then save the ReplayGain info to tags. There's a way to use that info when converting to peak normalise, but it's still not the best way. Normally you'd use ReplayGain to normalise to a specific volume. I can explain how to apply ReplayGain to the conversion chain if you're interested.

    For audio inside MKVs, I find it's often better to extract it and then convert.... for this reason only:

    Image
    [Attachment 38902 - Click to enlarge]


    Foobar2000 splits the MKVs into individual chapters in a playlist (assuming it has chapters. You can create a conversion preset which converts them as a single file, but I prefer to extract the audio and work with it directly. gMKVExtractGUI and MKVCleaver can extract the audio from MKVs (the latter is better for batch extraction). Both require MKVToolNix to do the actual extracting.

    One last tip..... when I create a QAAC encoder preset for normalising, I tick the "do not convert in multiple threads" option. That's because in order to normalise, QAAC has to process the entire file before it encodes, which is fairly fast.... like decoding to a wave file.... and processing more than one file at a time can keep your hard drive busy. See how you go, but the option is there. For converting without normalising I don't check that option and let foobar2000 convert multiple files at a time.
    Thanks a lot for everything. It'll take me sometime to understand everything that you've written. I finally got Qaac working with foobar, had to install iTunes. Also applied ReplayGain as you suggested. I'll keep referring to this thread for further info. Thanks a ton!
    Quote Quote  
  20. Originally Posted by knightplex View Post
    When we play a movie, volume is low for some parts, and then it suddenly increase for some parts. Whatever term is used to rectify this problem, I was talking about that term. I guess it's called loudness normalization? I'm not sure.
    Then i would no call this loudness but OK - fine for me - dynaudnorm will do the work and will solve your problem.

    btw you can use ffmpeg in same way as with nero aac encoder also with Qaac.
    http://superuser.com/questions/948793/ffmpeg-re-encode-audio-using-qaac-exe#972455
    Quote Quote  
  21. It sounds like what you need is some compression (levelling out the dynamic range so the difference between the quiet bits and the loud parts are reduced).

    You can do it when encoding the audio, but personally I wouldn't. I prefer to compress it on playback as if you encode it that way there's no going back. Most TVs have some sort of "night mode". Some software players do also. Software player normalisation doesn't seem to be anything too flash, although Potplayer lets you use WinAmp DSPs and there's a couple of good compressors. I use one myself, but I load it into ffdshow and run it that way as I prefer to use MPC-HC as a player.

    And as you might imagine, there's a WinAmp Bridge DSP plugin for foobar2000, so you can run WinAmp DSPs and add them to the conversion chain. If I was to do that, I use the same DSP I normally use on playback. I haven't found anything a like more.

    http://winampheritage.com/plugin/rocksteady-2-1/1099
    Or this one's quite good, and simple to use.
    http://loudmax.blogspot.com.au/2014/11/loudmax-plugin-v115-released.html
    The Winamp Bridge works, or you can load the VST version with the help of the VST Adaptor for foobar2000.
    http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components/VST_adapter

    There's advice on how to stop the WinAmp Bridge crashing on this page, but ignore it. The current version is fine:
    http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components/Winamp_DSP_Bridge_%28..._dsp_winamp%29

    To get you started if you're interested:
    The WinAmp Bridge added the the processing section of a converter setup. It's configuration window is open. In turn it's opened the RockSteady plugin to the settings I use for playback. You don't need to install WinAmp to use the plugins, although I think RockSteady only supports stereo.... now I think about it. LoudMax might support multichannel, if you're into that sort of thing. I'm definitely not, so stereo is fine for me.

    Click image for larger version

Name:	foobar2000.gif
Views:	2102
Size:	112.1 KB
ID:	38910

    Link to the screenshot in case the attached pic doesn't display.
    https://forum.videohelp.com/attachment.php?attachmentid=38910&d=1476562754

    For the record, those compressors actually work by making the soft bits louder, so then you can turn the over-all volume down. That's generally more effective than compressing the loud parts to make them quieter as the latter tends to require constant adjustment.

    PS If you ever decide to use foobar2000 as an audio player, sticking this DSP in the playback chain is quite subtle, but quite effective. It gives the high frequencies a bit more life without sounding like you've boosted them with an EQ.
    Noise Sharpening (foo_dsp_delta)
    Last edited by hello_hello; 21st Dec 2016 at 00:39.
    Quote Quote  
  22. There is another plugin for foobar2000 that will reduce dynamic range and normalize audio - EBU R128 normalizer. It doesn't have any settings. You just put in DSP chain and start conversion.
    Quote Quote  
  23. The EBU R128 Normalizer works quite well, but I'll climb out on a limb and declare my RockSteady settings do a slightly better job. The EBU R128 Normalizer must use a larger "window" for determining the volume, so sometimes when the audio goes from soft to loud in an instant, it doesn't "react" fast enough... for want of a better description.

    ffmpeg generally comes equipped with the Dynamic Audio Normaliser command line utility (pandy offered a suggesting that included it earlier). It has much the same settings as RockSteady and should be able to produce a very similar result. Or there's a VST version you can load into foobar2000, but I don't think it has a GUI yet so I'm not sure how you'd go about configuring it.

    I uploaded the attached samples quite a while ago in another thread, but here they are again.

    1. Downmixed to stereo, no compression.
    2. Compressed with RockSteady
    3. Compressed with LoudMax. It's not as good as I expected but I just threw that one in. It's probably too compressed. I haven't played with LoudMax much.
    4. Compressed with foobar2000's EBU R128 Normalizer DSP.

    The LoudMax compressor seemed to do a little better in respect to "pumping" or a lack thereof. The first second or two is just background noise. RockSteady and EBU R128 increased it for a "pumping" effect, but LoudMax didn't, or nowhere near as much. Interesting.....
    Mind you my TVs night mode isn't great in that respect. I can often hear background noises increasing and decreasing in volume. Nobody else in the house seems to notice though, or care.

    The best method I could come up with to make the compression comparisons fair was to feed each DSP the same downmixed audio and let it do it's thing while I converted to wave, then I scanned those with ReplayGain and adjusted them all to 89dB as I converted them to AAC. Except for the EBU R128 Normalizer sample. It normalizes to 89dB as it compresses so there should be no need to adjust the volume later.

    Have a listen to the volume of first gunshots at roughly the 1 minute 5 second point and compare them to the original. For RockSteady, their volume is pretty much the same (but the quiet parts are louder). The Loudmax DSP probably squished them too much, and for the EBU R128 Normalizer version, I think the first couple of gunshots actually increased in volume compared to the other samples

    After normalising to 89db and scanning (4x over-sampling), the loudest peak for each sample is....
    Original: -2.92dB
    RockSteady: -3.79dB
    LoadMax: -9.64dB
    EBU R128 Normalizer DSP: +0.05dB

    The deviation from the target volume of 89dB (ie Track Gain)

    Original: +0.02dB
    RockSteady: +0.02dB
    LoadMax: +0.02dB
    EBU R128 Normalizer: +0.21dB

    Mind you I'm not advocating applying compression while re-encoding. It's better to apply it on playback if possible. And the RockSteady DSP doesn't handle multi channel audio (I don't think) but I'll resist a rant about surround sound sucking and blowing at the same time and just say that doesn't bother me, because I always downmix to stereo on playback anyway.
    Image Attached Files
    Last edited by hello_hello; 16th Oct 2016 at 10:33.
    Quote Quote  
  24. Hi!

    I used foobar but it has no decoder for TrueHD files, and also I'm comfortable with command line. So I started using Qaac command line and it's working.

    1. Can I get a better quality than this command line? Or this the best possible quality in Qaac?

    Code:
    ffmpeg -i "input.mka" -f wav - | qaac64 -i -V 127 - -o output.m4a
    (I had to install iTunes to make this command line work.)

    2. Also, what does -N (normalisation) actually do? Whenever I play it on TV, the volume suddenly increases and decreases. Does normalise fix that problem or does it do something else? This is not highly necessary as PotPlayer has an inbulit feature named "Normalize" which fixes the sudden changes in volume.

    3.
    Code:
    ffmpeg -i "input.mka" -f wav -
    This same input I also used in Nero AAC, but I only got 7 channels instead of 8. Was it because Nero AAC doesn't support 8 Channels, or it is because WAV doesn't support 8 channels? (Must be because Nero AAC doesn't support 8 channels as WAV is working fine with Qaac).

    4. Will changing the Piped input from WAV to any other format that Qaac accepts, result in change in quality? I don't know the command line for them hence I can't experiment.

    5. Ultimately I just want to Convert huge movie 4-5 GB DTS audio files into small High quality ones so that I can store them. Is this the best method?
    Last edited by knightplex; 3rd Nov 2016 at 09:29.
    Quote Quote  
  25. Just wondering why not using eac3to command line. Encoding directly. You seem to pipe to wav and then using different encoders. Eac3to is a dedicated Blu-Ray stream audio encoder. It can read MKV container and format in it, as long as there is Blu-Ray stream in it, no problem. Put neroAacEnc.exe into eac3to directory.
    Quote Quote  
  26. Edit: I just realised I'd already posted some of the foobar2000 info here earlier in the thread. Oh well..... the info about 7.1ch audio towards the end of this post is probably worth a read. 7.1ch AAC has a few "gotchas" and it applies whether you use foobar2000 or not.

    Originally Posted by knightplex View Post
    I used foobar but it has no decoder for TrueHD files, and also I'm comfortable with command line. So I started using Qaac command line and it's working.
    You can decode any format with any command line decoder with the help of the Command Line Decoder Wrapper DSP, so if ffmpeg will decode it:

    Click image for larger version

Name:	foobar2000.gif
Views:	1797
Size:	25.7 KB
ID:	39276

    It's not ideal for day to day playback because you either need to use a command line that decodes to a temporary file so foobar2000 can navigate and display the correct duration etc, or use a command line such as the one above in which case you can't navigate, only decode from start to finish.
    As I only use the Command Line Decoder Wrapper DSP for converting eac3 files to another format I go with method B. The conversion process works normally and there's no waiting for temporary files to be created. That gets tedious quite quickly.

    Another option is to create a script and open the files via Avisynth and the AVS Input DSP. Once the script is open foobar2000 should behave as though it opened the source file directly.

    Option number three might be to decode via DirectShow with the help of the DirectShow Input DSP. I haven't played with it a lot but I think the idea is to specify a supported file type for DirectShow Input in preferences and any audio for that file type would be decoded via DirectShow. I've been meaning to test it in preference to using the command line decoder if possible. Now you've reminded me......
    For some reason the DirectShow Input DSP can be a bit hard to find and I can't be bothered looking for it at the moment, so I've attached it to the end of this post for you.

    As suggested by _Al_, decoding with eac3to is another option. You can even configure foobar2000 to decode with it via the Command Line Decoder Wrapper DSP.

    (I had to install iTunes to make this command line work.)
    You can install it but you don't have to. The makeportable.zip file here contains a file for extracting the required files from the itunes or quicktime installers to a folder labelled QTFiles, which you just put in the same location as QAAC.

    Originally Posted by knightplex View Post
    2. Also, what does -N (normalisation) actually do? Whenever I play it on TV, the volume suddenly increases and decreases. Does normalise fix that problem or does it do something else? This is not highly necessary as PotPlayer has an inbulit feature named "Normalize" which fixes the sudden changes in volume.
    It peak normalises. ie works out the loudest peak and adjusts the volume of the entire file by the same amount so the peak is at 0dB. QAAC needs to create a temporary input file to do it which is why it's slower than without normalising. If I'm encoding multichannel to multichannel (no downmixing) I just leave the volume as is and don't use peak normalising.

    Originally Posted by knightplex View Post
    This same input I also used in Nero AAC, but I only got 7 channels instead of 8. Was it because Nero AAC doesn't support 8 Channels, or it is because WAV doesn't support 8 channels? (Must be because Nero AAC doesn't support 8 channels as WAV is working fine with Qaac).
    For 7.1ch audio there's been a whole lot of decoding/encoding hackery in the past. The problem's not with wave files. There's two main types of 7.1ch. Theatre 7.1ch has an extra pair of surround speakers (compared to 5.1ch) in the front between the stereo speakers. For Home Cinema they're in the rear. The default 7.1ch layout for AAC is the Theatre layout. Nero doesn't support the Home Cinema layout. As a result AAC encoders have been encoding Home Cinema 7.1ch as though it's Theatre 7.1ch and decoders such as ffmpeg have been decoding 7.1ch AAC based on that assumption. If it's decoded "correctly" you end up with channels in the wrong places. I'd assume most standalone players would decode 7.1ch AAC "correctly".

    QAAC supports the Home Theatre 7.1ch layout. It's encoded as it should be so I'd use QAAC (I'm pretty sure FDKAAC supports it too but Nero and FhGAAC don't). The fun doesn't stop though because by default ffmpeg (and therefore foobar2000) decode Home Theatre 7.1ch AAC as though it's been encoded as Cinema 7.1ch..... and channels end up in the wrong places. To get foobar2000 to decode Home Theatre 7.1ch correctly, set the ffmpeg strict option to 1 in Preferences (Advanced/Decoding). It's not set to 1 by default because it's not the default for ffmpeg so it can't be for foobar2000 either..... sigh.

    I think I got all the above info correct. I don't work with 7.1ch much. In fact I try to avoid it as much as possible. I'm not sure why you'd have a channel missing though, and all the above only applies to encoding/decoding 7.1ch AAC. Other formats should be decoded/encoded correctly if the encoder supports 7.1ch. Once you decide on a 7.1ch decoding/encoding method though, make sure the channels are in the correct places. It might be best to decode 7.1ch to a wave file as well as to AAC. When you play the wave file & AAC versions, the channels should ideally be in the same places.

    The default wave file channel order is here. http://www.cs.bath.ac.uk/~jpff/NOS-DREAM/researchdev/wave-ex/wave_ex.html#POSITIONS
    It matches the default 7.1ch AAC layout for the first 8 channels (7.1ch theatre).
    foobar2000's output meters label the channels a little differently to the official wave file channel names, and they're generally not in the same physical order, to add a little extra confusion. I'm pretty sure rather than use BL and BR foobar2000 always labels the "back" channels as "rear" (RL and RR). Other than that I think the labels are the same.
    Image Attached Files
    Last edited by hello_hello; 6th Nov 2016 at 14:01.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!