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 398568 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #325
I found serious bug in my code. New version is uploaded, link in post #307 updated.
Thanks, batch file to gather the QT files unchanged?
WavPack 5.6.0 -b384hx6cmv / qaac64 2.80 -V 100

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #326
Thanks, batch file to gather the QT files unchanged?

Yes. Works with Quicktime 7.7, but wasn't tested with earlier versions of Quicktime.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #327
Thanks, batch file to gather the QT files unchanged?

Yes. Works with Quicktime 7.7, but wasn't tested with earlier versions of Quicktime.


Only thing I had to do was change %ProgramFiles% to %ProgramFiles(x86)%.  You may want to include some sort of x64 system check which redirects the script to a separate section to copy to that folder instead.  You could do a

Code: [Select]
"if exist "%WINDIR%\SysWOW64"


statement to check if it's an x64 system.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #328
What about this version -

Code: [Select]
setlocal
if "%ProgramFiles(x86)%."=="." goto win32
set prf=%ProgramFiles(x86)%
goto nxt
:win32
set prf=%ProgramFiles%
:nxt

echo Copying files...
copy "%prf%\QuickTime\QTSystem\QTCF.dll" .\

md QTfiles
cd QTfiles

md QuickTime.Resources
md QuickTimeAudioSupport.Resources
md QuickTimeAuthoring.Resources
md QuickTimeMPEG4Authoring.Resources

md QuickTime.Resources\en.lproj
md QuickTimeAudioSupport.Resources\en.lproj
md QuickTimeAuthoring.Resources\en.lproj
md QuickTimeMPEG4Authoring.Resources\en.lproj

copy "%prf%\Common Files\Apple\Apple Application Support\ASL.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\CoreAudioToolbox.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\CoreFoundation.dll" .\

copy "%prf%\Common Files\Apple\Apple Application Support\icudt46.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\libdispatch.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\libicuin.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\libicuuc.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\objc.dll" .\
copy "%prf%\Common Files\Apple\Apple Application Support\pthreadVC2.dll" .\

copy "%prf%\QuickTime\QTSystem\QuickTime.qts" .\
copy "%prf%\QuickTime\QTSystem\QuickTime.Resources\QuickTime.dll" .\QuickTime.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTime.Resources\QuickTime.qtr" .\QuickTime.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTime.Resources\QuickTime.qtxs" .\QuickTime.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTime.Resources\en.lproj\QuickTimeLocalized.dll" .\QuickTime.Resources\en.lproj\
copy "%prf%\QuickTime\QTSystem\QuickTime.Resources\en.lproj\QuickTimeLocalized.qtr" .\QuickTime.Resources\en.lproj\

copy "%prf%\QuickTime\QTSystem\QuickTimeAudioSupport.qtx" .\
copy "%prf%\QuickTime\QTSystem\QuickTimeAudioSupport.Resources\QuickTimeAudioSupport.qtr" .\QuickTimeAudioSupport.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTimeAudioSupport.Resources\en.lproj\QuickTimeAudioSupportLocalized.dll" .\QuickTimeAudioSupport.Resources\en.lproj\
copy "%prf%\QuickTime\QTSystem\QuickTimeAudioSupport.Resources\en.lproj\QuickTimeAudioSupportLocalized.qtr" .\QuickTimeAudioSupport.Resources\en.lproj\

copy "%prf%\QuickTime\QTSystem\QuickTimeAuthoring.qtx" .\
copy "%prf%\QuickTime\QTSystem\QuickTimeAuthoring.Resources\QuickTimeAuthoring.qtr" .\QuickTimeAuthoring.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTimeAuthoring.Resources\en.lproj\QuickTimeAuthoringLocalized.dll" .\QuickTimeAuthoring.Resources\en.lproj\
copy "%prf%\QuickTime\QTSystem\QuickTimeAuthoring.Resources\en.lproj\QuickTimeAuthoringLocalized.qtr" .\QuickTimeAuthoring.Resources\en.lproj\

copy "%prf%\QuickTime\QTSystem\QuickTimeMPEG4Authoring.qtx" .\
copy "%prf%\QuickTime\QTSystem\QuickTimeMPEG4Authoring.Resources\QuickTimeMPEG4Authoring.qtr" .\QuickTimeMPEG4Authoring.Resources\
copy "%prf%\QuickTime\QTSystem\QuickTimeMPEG4Authoring.Resources\en.lproj\QuickTimeMPEG4AuthoringLocalized.qtr" .\QuickTimeMPEG4Authoring.Resources\en.lproj\

cd ..
endlocal

edit: replaced %ProgramW6432% with %ProgramFiles(x86)%

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #329
^^  Nice, I wasn't aware of the ProgramW6432 variable.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #330
Guys, nao has already and politely asked to keep this thread qtaacenc related, there's a separate one for qaac.

@nao: would you be OK with integrating the necessary code by lvql into the official build to enabel portability please?

@IgorC, lvqcl or anyone in the know: what's the advantage of keeping the sample rate @ 44.1 KHz when going for bit rates >= 96 Kbps plus low pass? Quality loss during resampling by design or bug?

WavPack 5.6.0 -b384hx6cmv / qaac64 2.80 -V 100

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #331
For those, who don't want to run the QuickTimeInstaller.exe, here is a modified version of the batch file:
Code: [Select]
@set AAS=AppleApplicationSupport
@set QT=QuickTime
@set QTR=QuickTime.Resources
@set QTAS=QuickTimeAudioSupport.Resources
@set QTA=QuickTimeAuthoring.Resources
@set QTMA=QuickTimeMPEG4Authoring.Resources

echo Copying files...
copy %QT%\QTCF.dll .\

md QTfiles
cd QTfiles

md %QTR%\en.lproj
md %QTAS%\en.lproj
md %QTA%\en.lproj
md %QTMA%\en.lproj

copy ..\%AAS%\ASL.dll .\
copy ..\%AAS%\CoreAudioToolbox.dll .\
copy ..\%AAS%\CoreFoundation.dll .\
copy ..\%AAS%\icudt46.dll .\
copy ..\%AAS%\libdispatch.dll .\
copy ..\%AAS%\libicuin.dll .\
copy ..\%AAS%\libicuuc.dll .\
copy ..\%AAS%\objc.dll .\
copy ..\%AAS%\pthreadVC2.dll .\

copy ..\%QT%\QuickTime.qts .\
copy ..\%QT%\%QTR%_QuickTime.dll .\%QTR%\QuickTime.dll
copy ..\%QT%\%QTR%_QuickTime.qtr .\%QTR%\QuickTime.qtr
copy ..\%QT%\%QTR%_QuickTime.qtxs .\%QTR%\QuickTime.qtxs
copy ..\%QT%\%QTR%_en.lproj_QuickTimeLocalized.dll .\%QTR%\en.lproj\QuickTimeLocalized.dll
copy ..\%QT%\%QTR%_en.lproj_QuickTimeLocalized.qtr .\%QTR%\en.lproj\QuickTimeLocalized.qtr

copy ..\%QT%\QuickTimeAudioSupport.qtx .\
copy ..\%QT%\%QTAS%_QuickTimeAudioSupport.qtr .\%QTAS%\QuickTimeAudioSupport.qtr
copy ..\%QT%\%QTAS%_en.lproj_QuickTimeAudioSupportLocalized.dll .\%QTAS%\en.lproj\QuickTimeAudioSupportLocalized.dll
copy ..\%QT%\%QTAS%_en.lproj_QuickTimeAudioSupportLocalized.qtr .\%QTAS%\en.lproj\QuickTimeAudioSupportLocalized.qtr

copy ..\%QT%\QuickTimeAuthoring.qtx .\
copy ..\%QT%\%QTA%_QuickTimeAuthoring.qtr .\%QTA%\QuickTimeAuthoring.qtr
copy ..\%QT%\%QTA%_en.lproj_QuickTimeAuthoringLocalized.dll .\%QTA%\en.lproj\QuickTimeAuthoringLocalized.dll
copy ..\%QT%\%QTA%_en.lproj_QuickTimeAuthoringLocalized.qtr .\%QTA%\en.lproj\QuickTimeAuthoringLocalized.qtr

copy ..\%QT%\QuickTimeMPEG4Authoring.qtx .\
copy ..\%QT%\%QTMA%_QuickTimeMPEG4Authoring.qtr .\%QTMA%\QuickTimeMPEG4Authoring.qtr
copy ..\%QT%\%QTMA%_en.lproj_QuickTimeMPEG4AuthoringLocalized.qtr .\%QTMA%\en.lproj\QuickTimeMPEG4AuthoringLocalized.qtr

cd ..
pause
It copies the same files to the same folders as lvqcl's batch, but uses the unpacked installer (possible with 7Zip) as source. This batch file, the unpacked QuickTime.msi (as folder QuickTime) and AppleApplicationSupport.msi from QuickTimeInstaller.exe have to be in the same folder as qtaacenc.exe.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #332
[...] It copies the same files to the same folders as lvqcl's batch, but uses the unpacked installer (possible with 7Zip) as source. This batch file, the unpacked QuickTime.msi (as folder QuickTime) and AppleApplicationSupport.msi from QuickTimeInstaller.exe have to be in the same folder as qtaacenc.exe.
Convenient, thank you.
So basically with QuickTime.msi unpacked to .\QuickTime and AppleApplicationSupport.msi unpacked to .\AppleApplicationSupport in the same dir as qtaacenc and the bacth file, right?
WavPack 5.6.0 -b384hx6cmv / qaac64 2.80 -V 100

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #333
Guys, nao has already and politely asked to keep this thread qtaacenc related, there's a separate one for qaac.
Thanks for pointing this out. Not only will it be appreciated by nao, but it also inspired me to combine several threads about QAAC, including replies by its author nu774; I ask that users keep discussion of QAAC there. Thread:
QAAC discussion, questions, feature requests, etc.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #334
So basically with QuickTime.msi unpacked to .\QuickTime and AppleApplicationSupport.msi unpacked to .\AppleApplicationSupport in the same dir as qtaacenc and the bacth file, right?

yes

 

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #335
Hi, can anyone tell me anything about the mysterious channelmapping-issue?
You sometimes hear a drop about that, but I never experienced it personally, so for me, its kind of a hoax.

When, and under which circumstances does the error occur?

I did ac3 and dts in various bitrates, and everything was fine. (spectrogram in fb2k)

confused...

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #336
Hi, can anyone tell me anything about the mysterious channelmapping-issue?
You sometimes hear a drop about that, but I never experienced it personally, so for me, its kind of a hoax.

When, and under which circumstances does the error occur?

I did ac3 and dts in various bitrates, and everything was fine. (spectrogram in fb2k)

confused...



Any version of CoreAudioToolbox.dll after 7.6.3.0 applies and incorrect channel map on multichannel files:

http://sites.google.com/site/qaacpage/news/aboutquicktime77

You have two options - get an older version of CoreAudioToolbox.dll that was mentioned earlier in this thread, or use qaac.exe instead of qtaacenc.exe because it automatically remaps the channels for the newer versions of quicktime.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #337
Yes, thats what you hear about this issue every now and then...

buuuut.... i`ve used it for 5.1 dts and ac3 compressions for my personal archive, and I never really seen the error. A fb2k-spectrogram looks like this. Original left, after the break in the middle its the qtaac-output. It looks like everything is in place...



Any comments about this?

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #338
And what's the version of CoreAudioToolbox.dll in your system?

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #339
Its a quite new 7.9.7.3!

sorry, for not including this, but i thought it would be obvious that its a new one....

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #340
Its a quite new 7.9.7.3!

sorry, for not including this, but i thought it would be obvious that its a new one....


            can you upload it? (use m u l t i u p l o a d . c o m )
_


qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #342
thanks a lot...
_

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #343
Still no word from nao if he'd be OK with integrating the necessary code by lvql into the official build or if he's planning on implementing portability himself/differently... 

Can please anyone excuse my ignorance and explain what the advantage of keeping the sample rate @ 44.1 KHz when going for bit rates >= 96 Kbps plus low pass is?
Anything like unavoidable quality loss during the resampling or generated by buggy code?
WavPack 5.6.0 -b384hx6cmv / qaac64 2.80 -V 100

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #344
Can please anyone excuse my ignorance and explain what the advantage of keeping the sample rate @ 44.1 KHz when going for bit rates >= 96 Kbps plus low pass is?

You mean 44.1 instead of 32 kHz? The former allows for improved time resolution (at the cost of slightly reduced frequency resolution) because the frame durations are shorter.

Chris
If I don't reply to your reply, it means I agree with you.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #345
Can please anyone excuse my ignorance and explain what the advantage of keeping the sample rate @ 44.1 KHz when going for bit rates >= 96 Kbps plus low pass is?
Anything like unavoidable quality loss during the resampling or generated by buggy code?

There are a lot of variables.

Advantages (+) and disadvantages (-) of keeping 44.1 kHz sample rate:

(+)Time resolution is higher. But it aslo depends of bitrate and encoder.
(+) AFAIK Apple's resampler isn't the best around here.
(-) You will need more bits to keep the quality.

Apple encoder applies lowpass 15.7 kHz (96 kbps, 44.1 kHz) but it doesn't mean that there is absolutely nothing above that frequency limit.
Public test has shown that it's not bad at all to keep native samplerate. Now if it's better or worse on average it depends on a lot of things.

Some related  topic http://www.hydrogenaudio.org/forums/index....mp;#entry397081

P.S. Chris was faster 

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #346
Could someone please test the Version of CoreAudioToolbox.dll which I supplied, and verify, that there is no channel mapping error?

Here is the link again: http://www.multiupload.com/DWIF3EEIGY

Is fb2k spectrogram the right tool at all to find such an error? If no, which is a right tool for that, because I dont know any?

Id like to use the QuickTime AAC for my compressions, but not, if I screw up my collection with it.

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #347
for me it is not working...wrong channel order (with qtaacenc)...
_

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #348
is it relevant that i use fb2k as an encoder-interface?

Has anyone got an explanation for the spectrogram I posted above?

qtaacenc: a command-line QuickTime AAC encoder for Windows

Reply #349
For those, who don't want to run the QuickTimeInstaller.exe, here is a modified version of the batch file


Excellent idea. Here is another version of "QT portable" package: http://www.multiupload.com/PW9C8MS719

1. Download it and unpack to some folder.
2. Download QuickTimeInstaller.exe. Copy it to that folder.
3. Run makeportable.cmd.

Note 1: the script will remove all unnecessary files, incuding QuickTimeInstaller.exe and itself.
Note 2: the script should also work with iTunesSetup.exe and iTunes64Setup.exe