Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: qtaacenc: a command-line QuickTime AAC encoder for Windows (Read 398520 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #300
About portability: according to procmon.exe, qtaacenc loads the following DLLs:
[...]
but only 4 of them (CoreAudioToolbox.dll, CoreGraphics.dll, CoreVideo.dll, QTCF.dll) can be loaded from qtaacenc.exe folder.
Anything can be done qtaacenc side please?

QuickTime DLLs require MSVC 2005 redist installed. Adding msvcp80.dll and msvcr80.dll to qtaacenc folder doesn't work. Any way to override it?


Nao pleeeeease...

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #301
I guess the DLL path is resolved from the registry values (InstallDir, QTSysDir, QTComponentsDir, etc) in
  • HKEY_LOCAL_MACHINE\SOFTWARE\Apple Inc.\Apple Application Support
  • HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\QuickTime

QuickTime DLLs require MSVC 2005 redist installed. Adding msvcp80.dll and msvcr80.dll to qtaacenc folder doesn't work. Any way to override it?

They are SxS (side-by-side) DLL. I'm not sure but maybe .manifest file will do.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #302
It seems that portable QT AAC encoding is possible. All you need is:
* modified qtaacenc.exe
* msvcr100.dll (for qtaacenc.exe)
* msvcr80.dll, msvcp80.dll, Microsoft.VC80.CRT.manifest (for QT)
* 27 files from QuickTime (40 MB total size). 

testing...

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #303
I wonder is it possible to add --remix option (similar to 'remix' effect in SoX) to qtaacenc / qaac itself?



qaac's dev just did it...
_

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #304
So which version of the coreaudiotoolbox.dll should I use to avoid any fatal problems? I'm usually encoding stereo material at TVBR Q60-80 (not that it matters much since there's only three steps in bitrate level, it seems).
Probs can't be considered fatal, anyway with that target quality you are well above the bit rates (namely 80-96-112 Kbps) at which the QuickTime CoreAudioToolbox.dll library previous to version 7.6.9 have the lowpass bug, therefore if you prefer like IgorC and me higher bit rates at the same quality level you can safely use CoreAudioToolbox.dll v7.9.3.0.
Does this bug occur always at those bitrates? I do see them from time to time, especially when encoding a stereo file which is actually dual mono.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #305
It seems that portable QT AAC encoding is possible. All you need is:
* modified qtaacenc.exe
[...]
testing...
You coming up with the modded qtaacenc yourself?

Does this bug occur always at those bitrates? I do see them from time to time, especially when encoding a stereo file which is actually dual mono.
Seems so, my 3 tests posted here confirm it, but you can test yourself of course.
WavPack 5.6.0 -b384hx6cmv / qaac64 2.80 -V 100

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #306
Anyone want to test QT portable encoder?

1. Download and install QuickTime 7.7.
2. Download archive from http://www.multiupload.com/U2CTT7YOD0. It contains modified versions of qtaacenc and qaac.
3. Unpack it to some folder.
4. Go to this folder and click on runme.cmd. It will copy all necessary files from QuickTime folders.
5. Delete runme.cmd (it's not necessary anymore), delete "(src)" folder (it contains source files).
6. Uninstall QuickTime.
7. Try to encode files with qtaacenc or qaac.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #307
i had to add:

Code: [Select]
copy "%ProgramFiles%\Common Files\Apple\Apple Application Support\icudt40.dll" .\
copy "%ProgramFiles%\Common Files\Apple\Apple Application Support\icuin40.dll" .\
copy "%ProgramFiles%\Common Files\Apple\Apple Application Support\icuuc40.dll" .\


to the runme.cmd to make it work for me...
_

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #308
I use QuickTime 7.7, and it doesn't have icudt40.dll, only icudt46.dll. Probably different versions of QuickTime require different set of files. Not a big surprise though.
And thanks for testing.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #309
may be this will cover all the versions...

Code: [Select]
copy "%ProgramFiles%\Common Files\Apple\Apple Application Support\icu*.dll" .\
copy "%ProgramFiles%\Common Files\Apple\Apple Application Support\lib*.dll" .\

_

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #310
I tried to use qtaacenc.exe operated by foobar2000, just like explained here, but it doesnt want to work properly. QT 7.7 is installed.

When encoding a 6channel .dts (fb2k-dts-plugin installed), it starts encoding, runs for a while, and then crashes (repeatedly at the same point, the produced file is playable) with the following error:

Code: [Select]
1 out of 1 tracks converted with major problems.

Source: "path\to\foo.dts"
  An error occurred while writing to file (The encoder has terminated prematurely with code 0 (0x00000000); please re-check parameters) : "path\to\bar.m4a"
  Additional information:
  Encoder stream format: 48000Hz / 6ch / 24bps
  Command line: "path\to\qtaacenc.exe" --tvbr 100 --highest - "bar.m4a"
  Working folder: Path\to\folder
  
  Conversion failed: The encoder has terminated prematurely with code 0 (0x00000000); please re-check parameters

@writing error: Theres plenty of HDD-Space on a sane disk.

When using NeroAACenc.exe, things work out fine, so the source is supposedly okay...

Anybody got a hint for me?

Greets,
dis


qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #312
It seems that I was wrong about samplerates:

Encoding to --cvbr 64 kbps: iTunes and qtaacenc create 32kHz .m4a file, while qaac preserve 44.1 kHz.
Encoding to --tvbr 46: the same difference between qaac and qtaacenc.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #313
--ingnorelength resolves the crash! Thanks!

Still I`m a bit confused about this "channel mapping issue".
On MediaInfo both give me the same result: "Front: L C R, Side: L R, LFE" Is that internally screwed up?

I don't have the possibilities to test it right now, because my laptop is 2.0, and I don't know any software for that.

greets, Dis

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #314
Quote
I don't have the possibilities to test it right now, because my laptop is 2.0, and I don't know any software for that.


Spectrogram in foobar2000. Right-click - Channels - Unchanged.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #315
well, that doesnt seem messed up... Its a speech only scene without music, so LFE is dead there...

dts orig left vs qtaac right


qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #316
It seems that I was wrong about samplerates:

[...]

Just for my understanding: when going to low bitrates with a lowpass of 15.7kHz, why would you want to keep a sample rate of 44.1 kHz.? Is the downsampling buggy?

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #317
Sorry, but I am confused:
Which dll respectively which encoder versions do we want:

Using QuickTime 7.7.0 (LC-AAC encoder 1.7.2, HE-AAC encoder 1.2.1)  == dll 7.9.3.0
or
Using QuickTime 7.7.0 (LC-AAC encoder 1.7.1, HE-AAC encoder 1.2.0) == dll 7.9.3.3
Depends on the quality level you want to use, if you go for a bit rate unaffected by the lowpass bug like I'm doing you may prefer the earlier version of the DLL with the higher version of the encoders which produce higher bit rates, see IgorC's clarifications.



If you could clarify - which versions produce the higher bitrate files, and which versions produces the lower bitrate files?  And about how much bitrate difference is there between the two?

Currently I use 7.9.3 for Multichannel (because of channels bug on newer versions) and 7.9.7.7 for stereo (because of earlier versions's lowpass bug).

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #318
Just for my understanding: when going to low bitrates with a lowpass of 15.7kHz, why would you want to keep a sample rate of 44.1 kHz.? Is the downsampling buggy?
I'd be interested in knowing too, I simply wanted to know how to keep this encoder's behavior consistent with it's siblings.

Anyone want to test QT portable encoder?[...]
Worked perfectly copying the necessary from a QT 7.7 installation and then using your qtaacenc on a QT-less system, thank you!

nao would you be OK with integrating the necessary code by lvql into the official build?

If you could clarify - which versions produce the higher bitrate files, and which versions produces the lower bitrate files?  And about how much bitrate difference is there between the two?
Didn't wanna take the time to take a look just two pages back eh?
As advised by IgorC and confirmed by my MediaInfo copy/paste's CoreAudioToolbox library v7.9.3.0 produces higher bit rates.
WavPack 5.6.0 -b384hx6cmv / qaac64 2.80 -V 100

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #319
Currently I use 7.9.3 for Multichannel (because of channels bug on newer versions) and 7.9.7.7 for stereo (because of earlier versions's lowpass bug).
Didn't wanna take the time to take a look just two pages back eh?
As advised by IgorC and confirmed by my MediaInfo copy/paste's CoreAudioToolbox library v7.9.3.0 produces higher bit rates.


thanks, I missed that.  Looks like around 5-10% higher bitrate.


qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #321
Yes, because it was edited out:
This post has been edited by lvqcl: Today, 15:51
Perhaps it is out of date, but you would have to wait for a reply from lvqcl.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #322
I found serious bug in my code. New version is uploaded, link in post #307 updated.

 

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #323
I found serious bug in my code. New version is uploaded, link in post #307 updated.

many thanks   

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #324
Any chance to add support for STDOUT to qtaacenc (i.e. specify '-' as the output file)?
This might be useful if you want to 'stream' ACC to a network...e.g. a SHOUTcast server...
Would that be possible with QT - or is it only possible to set QT to a physical outout file?