Skip to main content

Topic: qtaacenc: a command-line QuickTime AAC encoder for Windows (Read 316917 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • DARcode
  • [*][*][*][*][*]
  • Members (Donating)
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 4.80.0 -b384hx6cmv/qaac 2.58 -V 100

  • lvqcl
  • [*][*][*][*][*]
  • Developer
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.

  • subinbar
  • [*]
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.
  • Last Edit: 06 September, 2011, 09:31:21 PM by subinbar

  • lvqcl
  • [*][*][*][*][*]
  • Developer
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)%
  • Last Edit: 09 September, 2011, 10:18:06 AM by lvqcl

  • subinbar
  • [*]
qtaacenc: a command-line QuickTime AAC encoder for Windows
Reply #329
^^  Nice, I wasn't aware of the ProgramW6432 variable.

  • DARcode
  • [*][*][*][*][*]
  • Members (Donating)
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 4.80.0 -b384hx6cmv/qaac 2.58 -V 100

  • gastone
  • [*]
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.

  • DARcode
  • [*][*][*][*][*]
  • Members (Donating)
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 4.80.0 -b384hx6cmv/qaac 2.58 -V 100

  • db1989
  • [*][*][*][*][*]
  • Global Moderator
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.

  • gastone
  • [*]
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...

  • subinbar
  • [*]
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.
  • Last Edit: 17 September, 2011, 03:12:00 AM by subinbar

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?

  • lvqcl
  • [*][*][*][*][*]
  • Developer
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....

  • b66pak
  • [*][*]
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 #341

  • b66pak
  • [*][*]
qtaacenc: a command-line QuickTime AAC encoder for Windows
Reply #342
thanks a lot...
_

  • DARcode
  • [*][*][*][*][*]
  • Members (Donating)
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 4.80.0 -b384hx6cmv/qaac 2.58 -V 100

  • C.R.Helmrich
  • [*][*][*][*][*]
  • Developer
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.

  • IgorC
  • [*][*][*][*][*]
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 
  • Last Edit: 18 September, 2011, 07:07:23 PM by IgorC

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.

  • b66pak
  • [*][*]
qtaacenc: a command-line QuickTime AAC encoder for Windows
Reply #347
for me it is not working...wrong channel order (with qtaacenc)...
_
  • Last Edit: 21 September, 2011, 02:43:24 PM by b66pak

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?

  • lvqcl
  • [*][*][*][*][*]
  • Developer
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